JavaScript 中 submitDetail 函数如何将 acTaxPiIncomeReportingDetail 值传递给 submitForm 函数
在 submitDetail 函数中,将 acTaxPiIncomeReportingDetail 的值存储到 submitForm 函数中的 form.acTaxPiIncomeReportingDetail 中,可以使用如下代码实现:
submitDetail() {
console.log(this.form.acTaxPiIncomeReportingDetail, 'ddddd');
this.isViewMode = false;
const formitems = [
'gregorianCalendarDays',
'domesticWorkDays',
'abroadWorkDays',
'totalRevenue',
'domesticPayment',
'abroadPayment',
];
this.form.acTaxPiIncomeReportingDetail = { ...this.form.acTaxPiIncomeReportingDetail };
const formdata = this.form;
console.log(formdata, 'fffffff');
formitems.forEach((item) => {
this.form.acTaxPiIncomeReportingDetail[item] = formdata.acTaxPiIncomeReportingDetail[item];
});
const income = this.calculateIncome();
this.form.equityIncentiveIncome = income;
this.form.acTaxPiIncomeReportingDetail = { ...this.form.acTaxPiIncomeReportingDetail };
this.submitForm();
this.dialogVisible = false;
}
在 submitDetail 函数中,首先将 acTaxPiIncomeReportingDetail 对象进行浅拷贝,然后遍历 formitems 数组,将 formdata 中对应的属性值赋给 acTaxPiIncomeReportingDetail 对象的相应属性。接着调用 calculateIncome 函数计算收入,并将计算结果赋给 form.equityIncentiveIncome。最后调用 submitForm 函数提交表单,并将 dialogVisible 属性设置为 false,关闭对话框。
解释:
- 浅拷贝:
this.form.acTaxPiIncomeReportingDetail = { ...this.form.acTaxPiIncomeReportingDetail };使用展开运算符...对acTaxPiIncomeReportingDetail对象进行浅拷贝,避免直接修改原始对象。 - 遍历属性:
formitems.forEach((item) => { ... });遍历formitems数组,将formdata中对应的属性值赋给acTaxPiIncomeReportingDetail对象的相应属性。 - 计算收入:
const income = this.calculateIncome();调用calculateIncome函数计算收入,并将结果赋给this.form.equityIncentiveIncome。 - 提交表单:
this.submitForm();调用submitForm函数提交表单。 - 关闭对话框:
this.dialogVisible = false;将dialogVisible属性设置为false,关闭对话框。
注意:
calculateIncome函数需要根据实际情况进行定义,用于计算收入。submitForm函数也需要根据实际情况进行定义,用于提交表单。- 代码示例中的
formitems数组包含需要传递给acTaxPiIncomeReportingDetail对象的属性名称。
通过以上代码实现,可以在 submitDetail 函数中将 acTaxPiIncomeReportingDetail 值传递给 submitForm 函数,并完成相关操作。
原文地址: https://www.cveoy.top/t/topic/pdvF 著作权归作者所有。请勿转载和采集!