[Vue warn]: Error in v-on handler (Promise/async): “TypeError: Cannot read properties of undefined (
1、在使用到有筛选条件的请求时报了这个错2、封装的筛选条件方法和调用// 获取筛选条件的方法getQuery() {let data = this.form.getFieldsValue();if(this.form.getFieldValue('time').length > 0) {data.startTime = moment(this.form.getFieldValue('time
·
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、再三鞭策自己:判断或者操作数据严谨严谨再严谨!
希望明年今日,不再孤单一人!
更多推荐
已为社区贡献13条内容
所有评论(0)