1、antd表单赋值报错:

在这里插入图片描述

<a-form-item label="月份">
  <a-month-picker
    v-decorator="['month']"
    disabled
    format="M月"
    ></a-month-picker>
</a-form-item>
setValue(data) {
  let deadline = data && data.deadline? moment(data.deadline): undefined;
  let operatorTime = data && data.operatorTime? moment(data.operatorTime): undefined;
  let verificationTime = data && data.verificationTime? moment(data.verificationTime): undefined;
  this.year = data.year;
  let status
  if(data.status == 0 || data.status == 3 || data.status == 4) {
    status = "待修改"
  } else if(data.status == 1) {
    status = "待核查"
  } else if(data.status == 2) {
    status = "待审批"
  } else if(data.status == 5) {
    status = "已审批"
  } 
  let formData;
  this.$nextTick(() => {
    formData = this.form.getFieldsValue();
    for (let i in formData) {
      this.dataValues[i] =
        data[i] || data[i] == 0 ? data[i] : undefined;
      typeof this.dataValues[i] == "string"
        ? (this.dataValues[i] = this.dataValues[i].replace(/(^\s*)|(\s*$)/g, ""))
        : "";
    }
    this.form.setFieldsValue({
      ...this.dataValues,
      deadline,
      operatorTime,
      verificationTime,
      status,
    });
  });
},
2、后台返回的数据:

在这里插入图片描述

3、月份赋值修改:
setValue(data) {
  // 拼上年度转成moment格式渲染
  let month = data && data.month? moment(`${data.year}-${data.month}`): null;
  let deadline = data && data.deadline? moment(data.deadline): undefined;
  let operatorTime = data && data.operatorTime? moment(data.operatorTime): undefined;
  let verificationTime = data && data.verificationTime? moment(data.verificationTime): undefined;
  let status
  if(data.status == 0 || data.status == 3 || data.status == 4) {
    status = "待修改"
  } else if(data.status == 1) {
    status = "待核查"
  } else if(data.status == 2) {
    status = "待审批"
  } else if(data.status == 5) {
    status = "已审批"
  } 
  let formData;
  this.$nextTick(() => {
    formData = this.form.getFieldsValue();
    for (let i in formData) {
      this.dataValues[i] =
        data[i] || data[i] == 0 ? data[i] : undefined;
      typeof this.dataValues[i] == "string"
        ? (this.dataValues[i] = this.dataValues[i].replace(/(^\s*)|(\s*$)/g, ""))
        : "";
    }
    this.form.setFieldsValue({
      ...this.dataValues,
      month,
      deadline,
      operatorTime,
      verificationTime,
      status,
    });
  });
},

郭总:玫瑰是我偷的,爱你也是假的。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐