submitDetail() 函数中,Cannot read properties of null (reading 'gregorianCalendarDays') 错误通常发生在 acTaxPiIncomeReportingDetailnull 时尝试访问其属性 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') 错误的出现。

解决 'Cannot read properties of null (reading 'gregorianCalendarDays')' 错误:acTaxPiIncomeReportingDetail 为 null

原文地址: https://www.cveoy.top/t/topic/pdwM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录