uniapp修改數組對象屬性,視圖不刷新問題
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)
}

浙公網安備 33010602011771號