問題描述:
我的table表格里有一個下拉框,在層級比較多的情況下給下拉賦值,但是頁面未能實時刷新,我左思又想,左查右看,,急的電腦都要砸了但是還是出不來時。恰巧你刷到了我的這條博客,,那么恭喜你 你的電腦性命保住了
第一個方案,當然是使用官方提供的方法啦,假如格式是下面這樣
data() {
return() {
groupslist: {
groupId: '01111111113',
name: '張三'
}
}
} 賦值 let newId = '2333332412' this.$set(this.groupslist, 'groupId', newId) 如果頁面數據刷新了則皆大歡喜,不好還得罵罵咧咧(狗頭)
第二個方案 簡單粗暴: this.groupslist.groupslist = newId this.$forceUpdate() // 強制刷新
究極解決方案:深拷貝數組,然后重新賦值 深拷貝方法 cloneCopy(target) { let result = Array.isArray(target) ? [] : {} if (target && typeof target === 'object') { for (let key in target) { if (typeof target[key] === 'object') { result[key] = cloneCopy(target[key]) } else { result[key] = target[key] } } return result } return '' } 賦值 let newArr = this.cloneCopy(this.groupslist) 然后你操作newArr ,比如循環賦值啊啥的 ,按你的功能需求操作 最后,this.groupslist = newArr 這樣就結束了,你會說 我操(狗頭)
那種有用就用那種,希望你我都沒煩惱