解决 'Cannot read properties of null (reading 'gregorianCalendarDays')' 错误:acTaxPiIncomeReportingDetail 为 null
在 submitDetail() 函数中,Cannot read properties of null (reading 'gregorianCalendarDays') 错误通常发生在 acTaxPiIncomeReportingDetail 为 null 时尝试访问其属性 gregorianCalendarDays 导致的。为了解决这个问题,您需要确保 acTaxPiIncomeReportingDetail 始终有一个初始值。
您可以通过在初始化 form 对象时,将 acTaxPiIncomeReportingDetail 设置为一个空对象来解决该问题。将以下代码添加到 submitDetail() 函数中:
this.form = {
...formdata,
acTaxPiIncomeReportingDetail: {}
};
这样,acTaxPiIncomeReportingDetail 就会被初始化为一个空对象,即使它之前没有值,您也能够安全地访问它的属性。
例如,在以下代码中,我们将 acTaxPiIncomeReportingDetail 初始化为一个空对象,并通过 formitems 数组遍历每个属性,并将其值从 formdata 中复制到 acTaxPiIncomeReportingDetail 中:
submitDetail() {
console.log(this.form.acTaxPiIncomeReportingDetail, 'ddddd');
this.isViewMode = false;
if (!this.form.acTaxPiIncomeReportingDetail) {
this.form.acTaxPiIncomeReportingDetail = {}; // 初始化为空对象
}
const acTaxPiIncomeReportingDetail = this.form.acTaxPiIncomeReportingDetail;
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) => {
acTaxPiIncomeReportingDetail[item] = formdata.acTaxPiIncomeReportingDetail[item];
});
const income = this.calculateIncome();
this.form.equityIncentiveIncome = income;
this.dialogVisible = false;
this.submitForm();
}
通过这种方法,您就可以确保 acTaxPiIncomeReportingDetail 始终有一个值,避免了 Cannot read properties of null (reading 'gregorianCalendarDays') 错误的出现。
原文地址: https://www.cveoy.top/t/topic/pdwM 著作权归作者所有。请勿转载和采集!