Vue 使用$set動態給數據設置屬性


在實際的開發過程中,給表單元素綁定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)  ✅✅✅✅可以更新視圖
      })
    }
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM