请问vue+element的数组updated问题

目前通过vue+element绑定了一个table,假设数据结构是这样的
var t=[
{name="a"},
{name="b"},
{name="c"},
]
这种,然后在table里显示name等列的值
我对这个表进行前段的增删改查,增加删除没问题,页面渲染,updated也执行
在修改的时候,我只改name,大概代码是这样的
t.foreach((e,i)=>{
if(e.name==oldname){
e.name=newname
}
})
大体就是这样
现在的结果是,代码能运行,数据也修改了,页面也正常渲染了,但updated钩子没执行!
问题就在于这个钩子为什么没执行呢?
我换成beforeUpdate,也不执行
现在只能用forceupdate,但不知道这个有没有副作用,而且也太费劲了
到处force,不太好吧,毕竟
别太放肆,没什么用……

为何不去看看官方文档呢,官方文档不是说了吗?也提到了相关的说明
img

updated可能并不会执行,最好的还是使用计算属性或者用watch监听数据变化,将你这个变化值的方法在写一份加入到watch里面做监听或者直接this.方法()

watch:{
update(){},//监听更新方法
}

随着测试的加深,一般监听时是不能监听到对象属性值的变化的,发现如果监听的是Object类型的复杂数据类型的话,这样写是无法监听key和value的变化的,需要对Object类型进行深层监听
所以watch开启深度监听

watch:{
driver:{
update(){},
deep:true;
}
}

这样基本上就解决了vue组件beforeUpdate和updated生命周期钩子不执行的问题

这种数据标准的做法是,数据要有唯一的ID主键,否则会出现更新,删除异常,比如多个同名的情况下就会出问题。