美文网首页
vue通过$set更新数组

vue通过$set更新数组

作者: __鹿__ | 来源:发表于2024-03-11 20:12 被阅读0次

    在Vue.js中,如果你想修改数组中的某个对象的属性值并确保视图能响应更新

    我一开始是下面这样写。怎么都不生效。

    data() {
      return {
        items: [
          { id: 1, name: 'Item 1' },
          { id: 2, name: 'Item 2' },
          // 更多对象...
        ]
      }
    }
    
     this.$nextTick(() => {
            this.$set(this.items[index], 'name', 'New Name' );
            // 在这里进行其他相关更改
          })
    

    只有改成浅拷贝的模式才能生效

    const index = this.items.findIndex(item => item.id === 2);
    if (index !== -1) {
      this.$set(this.items, index, { ...this.items[index], name: 'New Name' });
    }
    

    这里我们首先找到目标对象的索引,然后使用$set方法来设置整个对象的新值,新值是原对象的一个浅拷贝,并且包含了你要修改的那个属性的新值。

    相关文章

      网友评论

          本文标题:vue通过$set更新数组

          本文链接:https://www.haomeiwen.com/subject/ubamzdtx.html