代码如下:
async getcommentshowdatas(this: any) {
const sampleId = this.params.idList[0]
await this.BindingPingl({sampleId:sampleId}).then(res => {
this.$store.state.component.forEach(v => {
if (res.status === 200) {
this.form.commentName = res.result
if (v.tag === "t_pj") {
v.compone.Value = this.form.commentName
}
}
console.log(this.form.commentName)
})
})
},
res是请求接口,然后根据this.form.commentName赋值到文本框,根据this.$store.state.component遍历出来如果直接赋值v.compone.Value,如果没有值就为空
但是回显出来的总是有数据,请问大佬们,这个怎么弄咧
期望this.form.commentName有值赋值给v.compone.Value,没有就为空,是代码那里写错了吗
检查一下接口返回的
res.result
是否有值就好了呀,你不是如果请求成功就直接赋值给this.form.componentName
了吗?另外
res.result
是什么,是简单的字符串/数字之类的基础属性,还是对象/数组这样的引用访问。如果是对象引用的话,你的
console.log(this.form.commentName)
打印时是否有数据,如果打印的快照没有数据,点击展开箭头有数据这样的情况,就是其他地方的业务修改到导致的问题。另外就是修改
state
中的值,请通过mutation
操作修改,而不是直接在代码中$store.state.xxx = xxx
这样直接赋值。