1、在使用到有筛选条件的请求时报了这个错

在这里插入图片描述

2、封装的筛选条件方法和调用
// 获取筛选条件的方法
getQuery() {
  let data = this.form.getFieldsValue();
  if(this.form.getFieldValue('time').length > 0) {
    data.startTime = moment(this.form.getFieldValue('time')[0]).format('YYYY-MM-DD');
    data.endTime = moment(this.form.getFieldValue('time')[1]).format('YYYY-MM-DD');
  }
  if(this.form.getFieldValue('eventTime').length > 0) {
    data.eventStartTime = moment(this.form.getFieldValue('eventTime')[0]).format('YYYY-MM-DD');
    data.eventEndTime = moment(this.form.getFieldValue('eventTime')[1]).format('YYYY-MM-DD');
  }
  return data
},
// 新增修改弹窗确定按钮
async handleOk() {
  let url = this.$url.GET_INVALDATA_SETUP_CREATE;
  let method = "str";
  let formData = await this.$refs.addCont.getValues();
  console.log(formData.deviceIdList);
  // 判断是否在新增修改有选中?
  if(formData.deviceIdList && formData.deviceIdList.length > 0) {
    // 处理参数
    formData.deviceId = formData.deviceIdList.join(',');
    delete formData.deviceIdList;
    delete formData.time;
  } else {
    this.$message.error('请选择站点!');
    return
  }
  if (this.isEdit) {
    url = this.$url.GET_INVALDATA_SETUP_UPDATE;
  }
  if(formData) {
    this.addLoad = true;
    let res = await this.$http(url, method, formData);
    console.log(res);
    this.addLoad = false;
    if (res.data.code == 200) {
      this.addPop = false;
      this.getData(this.getQuery()); // 调用
      if (this.isEdit) {
        this.$message.success("修改成功");
      } else {
        this.$message.success("新增成功");
      }
      this.$refs.addCont.resetValues();
    }
  }
},
3、其实点开报错的地方,有时是可以看到哪里出现问题了,箭头位置

在这里插入图片描述
分别显示:
在这里插入图片描述
在这里插入图片描述

4、排除发现,判断出错了!因为this.form.getFieldValue(‘time’)有可能是undefined,所以修改成
getQuery() {
  let data = this.form.getFieldsValue();
  if(data.time && data.time.length > 0) {
    data.startTime = moment(data.time[0]).format('YYYY-MM-DD');
    data.endTime = moment(data.time[1]).format('YYYY-MM-DD');
  }
  if(data.eventTime && data.eventTime.length > 0) {
    data.eventStartTime = moment(data.eventTime[0]).format('YYYY-MM-DD');
    data.eventEndTime = moment(data.eventTime[1]).format('YYYY-MM-DD');
  }
  return data
},
5、再三鞭策自己:判断或者操作数据严谨严谨再严谨!

希望明年今日,不再孤单一人!

Logo

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

更多推荐