uniapp最大的坑 遇到修改数组属性视图不更新的问题 有两种解决方法
一:this.$forceUpdate();强制更新,这个确实在H5端更新了,但是微信小程序还是没有更新
二:this.$set(),一样不行修改数组后视图依旧不刷新
最后用$.elmit()方法 在子组件修改父组件传给子组件的值 达到父子组件双向数据绑定的原理 修改的时候用this.$set(传入的数组,修改值的索引,修改的值)
//父组件
currentTab(item) {
this.ListData.map((val, index) => {
if (val.activeCode == item.activeCode) {
//父组件用set修改
this.$set(this.ListData, index, {
...val,
checked: true
});
this.currentItem = item;
} else {
val.checked = false
}
});
console.log(this.ListData)
},
//子组件传值到父组件
currentRadio(item) {
let Obj = {}
this.ispList.map((val, i) => {
if (item.agentNo == val.agentNo) {
Obj = {
...item,
checked: true
};
this.ISPRadioItem = item
}
});
//子组件传值到父组件方法
this.$emit('currentRadio2', Obj)
}
标签:uniapp,set,val,修改,视图,item,数组,组件 From: https://www.cnblogs.com/shenbo666/p/17295438.html