这样写赋值有问题?

代码如下:

 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 这样直接赋值。

以上是 这样写赋值有问题? 的全部内容, 来源链接: utcz.com/p/934821.html

回到顶部