this.$set

有这样的一个场景

纯前端对table去做增删修改操作,修改是通过弹框去修改的,但数据是响应式的,在弹框里修改某项数据,点击关闭弹框,无论是确认还是取消都是会引起table里数据的变换,

这时候就需要确认的时候数据变化(默认的),点击取消的时候要用旧的值替换掉新的值

      // this.data[index] = row
      this.$set(this.data, index, row);

第一种是无法生效的

$set中的第一个值是list

      allRateList: [
        {name:'1212',age:11},
        {name:'2354',age:11},
        {name:'152345',age:11},
        {name:'12354',age:11},
        {name:'2452342',age:11},
    ],

第二个值是要改值所在的index,要改第一个index就是0

第三个值为所要替换的值

{name:'agvfjabng',age:11},

操作一下

let row = {name:'agvfjabng',age:11},
this.$set(this.allRateList, 0 ,row )
//
      allRateList: [
        {name:'agvfjabng',age:11},
        {name:'2354',age:11},
        {name:'152345',age:11},
        {name:'12354',age:11},
        {name:'2452342',age:11},
    ],

你可能感兴趣的:(#,vue2,前端)