gpt4 book ai didi

javascript - 我对所有值求和,但为什么它不适用于所有动态总计字段

转载 作者:行者123 更新时间:2023-12-01 01:33:57 25 4
gpt4 key购买 nike

我正在使用 Laravel 5.7VueJs 2.5.* ...

简而言之:当我输入值时,我会在“总计”字段中得到总和,但是当我动态添加项目行时,它不适用于其他项目行,它仅适用于第一行。

说明:我有一些 Taxes_Breakup 输入字段,我需要将所有这些输入字段相加并显示在 Total_Tax_BreakUp 字段中。在我的 TicketInvoiceItems 中,我有 Taxes_Breakup 字段和 Total_Taxes_Breakup 字段,当我输入所有值时,我会在 Total_Taxes_Breakup 中得到总和>,但是当我动态添加 TicketInvoiceItems 字段时,TicketInvoiceItems 中的其他 Total_Tax_BreakUp 字段与第一个 Total_Tax_BreakUp 字段相同> 字段。下面是为了更好地理解的图片。谢谢。

这是我的 HTML 代码:

<tr v-for="(ticketInvoiceItem, key) in form.ticketInvoiceItems" :key="key">
<!--Passenger Name-->
<td>
<input v-model="ticketInvoiceItem.passenger_name" size="40" type="text" name="passenger_name" class="table-control form-control" :class="{ 'is-invalid': form.errors.has('passenger_name') }">
</td>

<!-------------------Taxes BreakUps------------------->
<input v-model="ticketInvoiceItem.tax_SB" id="tax_SB" type="number" name="tax_SB" placeholder="SB" class="table-control form-control" :class="{ 'is-invalid': form.errors.has('tax_SB') }">

<input v-model="ticketInvoiceItem.tax_SRP" id="tax_SRP" type="number" name="tax_SRP" placeholder="SRP" class="table-control form-control" :class="{ 'is-invalid': form.errors.has('tax_SRP') }">
<!-------------------AND OTHER TAXES------------------->


<!-------------------Total Taxes Break Up------------------->
<td>
<input :value="totalTax" id="total_tax_breakup" type="number" size="10" name="total_tax_breakup" class="table-control form-control" :class="{ 'is-invalid': form.errors.has('total_tax_breakup') }">
</td>
</tr>

我的 VueJs data():

data() {
return {
editmode: true,
ticketInvoices: {},
form: new Form({
id: "",
vendor_id: "",
ticket_invoice_no: "",
ticket_invoice_date: "",
ticket_invoice_grand_total: "",

ticketInvoiceItems: [{
id: "",
ticket_invoice_id: "",
passenger_name: "",
sector: "",
tax_SB: 0,
tax_SRP: 0,
tax_YQ: 0,
tax_RG: 0,
total_tax_breakup: 0,
}]
})
};
},

我的计算:代码:

computed: {
totalTax() {
let calTaxTotal =
parseInt(this.form.ticketInvoiceItems[0].tax_SB) +
parseInt(this.form.ticketInvoiceItems[0].tax_SRP) +
parseInt(this.form.ticketInvoiceItems[0].tax_YQ) +
parseInt(this.form.ticketInvoiceItems[0].tax_RG);

this.form.ticketInvoiceItems[0].total_tax_breakup = calTaxTotal;

return calTaxTotal;

}
},

enter image description here

最佳答案

问题出在您的计算属性中。所有索引都位于 0 或表的第一行。如果您想累加多行,则需要将索引传递到 TotalTax 中。因此计算属性并不是最佳选择。将其转换为方法并将索引(或键)传递到方法中。

<input :value="getTotalTaxes(key)"
id="total_tax_breakup"
type="number" size="10"
name="total_tax_breakup"
class="table-control form-control">

方法

      methods: {
/**
* The index parameter is the current row that you are working on
* @param index
* @returns {number}
*/
getTotalTaxes(index) {
let calTaxTotal =
parseInt(this.form.ticketInvoiceItems[index].tax_SB) +
parseInt(this.form.ticketInvoiceItems[index].tax_SRP) +
parseInt(this.form.ticketInvoiceItems[index].tax_YQ) +
parseInt(this.form.ticketInvoiceItems[index].tax_RG);

this.form.ticketInvoiceItems[index].total_tax_breakup = calTaxTotal;

return calTaxTotal;
}
}

关于javascript - 我对所有值求和,但为什么它不适用于所有动态总计字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52999647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com