Javascript 使用方法更改数据后的Vue v-show更新
我在这个对象数组中迭代,每个对象中都有一个属性-Javascript 使用方法更改数据后的Vue v-show更新,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我在这个对象数组中迭代,每个对象中都有一个属性-关键字。已编辑的,它的值为-false all循环如下所示: <tr v-for="(keyword, index) in keywords"> <td>{{keyword.tag_name}}</td> <td @click="edit_keyword(index)"> <el-input-number v-show="keyword.edited" :step
关键字。已编辑的
,它的值为-false
all循环如下所示:
<tr v-for="(keyword, index) in keywords">
<td>{{keyword.tag_name}}</td>
<td @click="edit_keyword(index)">
<el-input-number v-show="keyword.edited" :step="step" size="small" v-model="keyword.max_bid"></el-input-number>
</td>
</tr>
但是DOM不会更新,或者换句话说,相关的关键字不会像我预期的那样显示。
你知道我怎样才能做到这一点吗?试图用computed属性实现相同的想法,但仍然不起作用…您正在更改的属性不是反应性的,因此vue不是它更改的。如果更新对象的属性,则需要使用$set方法告诉Vue:
edit_关键字(索引){
this.$set(this.keyswords[index]、'edited'、!this.keys[index].edited)
}
我不能很好地理解你的想法。DOM应该自动更新。你能提供一个提琴吗?试着记录你的索引,并做一些错误控制,也许问题就在这里,所以基本上
?
edit_keyword(index){
this.keywords[index].edited = !this.keywords[index].edited
return this.keywords[index].edited
}