vue中解决v-show中的值改变,但视图不刷新问题
vue中解决v-show中的值改变,但视图不刷新问题问题:之前使用全局变量和v-show来解决div隐藏问题,类似这样<el-buttontype="primary" @click="showAdvanceSearchView=!showAdvanceSearchView"><div v-show="showAdvanceSearchView" >X...
·
vue中解决v-show中的值改变,但视图不刷新问题
问题:之前使用全局变量和v-show来解决div隐藏问题,类似这样
<el-button type="primary" @click="showAdvanceSearchView=!showAdvanceSearchView">
<div v-show="showAdvanceSearchView" >
XXXXX
</div>
data中定义:
return{
showAdvanceSearchView:false
}
但使用数组来控制是否隐藏后,v-show似乎不起作用了,我使用了table来遍历列表中的数据,scViewStatus是我定义的用来显示行中某一项的标记数组,数组里面是boolean类型,数组的下标对应行的下标,想通过在某一行点击div,改变数组值来隐藏某项数据。行中的div如下
<div @click="showHiddenView(scope.$index)">
<span>{{scope.row.stem}}</span>
</div>
这里我点击div后,传递到表格中行的下标,起初的方法:
showHiddenView(index){
var status=!this.scViewStatus[index]
this.scViewStatus[index]=status;
}
但结果是数组中的值改变了,div并没有隐藏或显示。
最后解决办法:使用vue中的$set来设置值
showHiddenView(index){
var status=!this.scViewStatus[index]
this.$set(this.scViewStatus,index,status);
//第一个参数为数组,第二个参数为数组下标,第三个参数为设置的值,
},
更多推荐
已为社区贡献2条内容
所有评论(0)