ZBLOG

componentWillMount() { // /:templateId/:status/:productCode 模板ID type == add新建copy复制 升级upgrade 维护wh 产品ID console.log('this.props.params', this.props.params); const { productCode, type, templateId, versionNo } = this.props.params; ...

根据提供的代码,您可以将templateId字段传递给basicIfo数据,并在最后的handleFilterSubmit事件中使用。请按照以下步骤进行修改:

  1. 在组件的状态(state)中添加一个新的字段 templateId: null

  2. 修改 componentWillMount() 方法如下:

componentWillMount() {
  console.log('this.props.params', this.props.params);
  const { productCode, type, templateId, versionNo } = this.props.params;
  this.setState({ templateId }); // 将templateId保存到组件状态中
  this.props.updateStatus(type);

  if (type !== 'add' && type !== 'copy') {
    this.props.productDetail({ productCode, versionNo, taskId: '' });
    this.props.updateProduct({ productCode, versionNo, taskId: '' });
  }
}
  1. 修改 basicIfo() 方法如下:
basicIfo(values) {
  console.log(values);
  
  const { templateId } = this.state;
  
  // 在values对象中添加templateId字段
  const updatedValues = {
    ...values,
    templateId: templateId || ''
  };

  this.setState({
    basicIfo: updatedValues
  });

  this.basicIfo = updatedValues;
}
  1. 修改 andleFilterSubmit() 方法如下:
andleFilterSubmit(isSave) {
  console.log(this.basicRef, 'this.basicRef');
  
  // 获取保存在组件状态中的templateId值
  const { templateId } = this.state;

  console.log(this.basicIfo);
  
  if (isSave) {
    const values = {
      ...this.props.productData,
      status: 'prodPass',
      note: this.basicRef.formVales.note,
      fpmsBaseInfo: {
        ...this.basicIfo.fpmsBaseInfo, // 使用basicIfo中的fpmsBaseInfo字段
        templateId // 将templateId字段添加到fpmsBaseInfo中
      },
      fpmsControlInfo: this.caculateRef.formVales,
      fpmsCostAccountingInfo: this.controllRef.formVales,
      fpmsPeriodPublicationInfo: this.periodRef.terms,
      fpmsFileInfo: this.fileRef.files,
      limitCode: this.limitCodeRef.limitCode
    };

    const { type } = this.props.params;
    console.log(values, type, '903420943295u238y5782352390502359');

    if (type === 'add' || type === 'copy') { // 修改此处条件判断
      this.addProductModel(values);
    } else {
      const status = type === 'wh' ? null : values.status;
      this.updateProduct({ ...values, status });
    }
  } else {
    this.setState(prevState => ({
      activeKey: prevState.activeKey + 1
    }));
  }

  if (this.state.activeKey === 6) {
    const values = {
      ...this.props.productData,
      status: 'prodPass',
      
    	// 注意这里的修改:使用保存在组件状态中的basicIfo数据对象
    	fpmsBaseInfo: {
      	...this.basicIfo.fpmsBaseInfo,
        templateId // 将templateId字段添加到fpmsBaseInfo中
    	},
      
			fpmsControlInfo: {
        ...this.props.productData.fpmsControlInfo,
        penaltyType: {
          [this.props.productData.fpmsControlInfo.penaltyType]: true
        }
      },
      
      fpmsPeriodPublicationInfo: this.props.productData.fpmsPeriodPublicationInfo,
      fpmsFileInfo: this.props.productData.fpmsFileInfo,
      limitCode: this.props.productData.limitCode
    };

    this.props.productInput(values);
  }
}

以上修改会将 templateId 字段传递给 basicIfo 数据,并在最后的处理函数中正确使用该值。请注意修改代码时的上下文关系,确保正确引用变量和对象属性。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=10387

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?