在實際的開發過程中,給表單元素綁定model的時候,綁定的元素的屬性是根據后台數據動態生成的。如果使用常規的賦值方式,是無法更新視圖的
- 需要使用, this.$set(dataName,keyName,keyValue)
export default {
data:{
// 先定義一個空對象
formObject:{},
arrayList:[],
},
mounted() {
this.initPage()
},
methods:{
initPage(){
this.$store.dispatch(namespace/callData).then(res=>{
// 給數據設置key-value
res.data.forEach(item=>{
// ❗❗❗❗❗ this.formObject[item.name] = item.value // ❗❗❗❗ 這種方式是不能更新視圖的
this.$set(this.formObject, item.name, item.value) // ✅✅✅✅可以更新視圖
})
})
// 修改數組
this.$store.dispatch(namespace/callData).then(res=>{
// 給數據設置key-value
this.$set(this.arrayList,0,(res.data)[0].id) ✅✅✅✅可以更新視圖
})
}
}
}