Vue向数组里面添加字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue向数组里面添加字段相关的知识,希望对你有一定的参考价值。
参考技术A 1. 有时候我们会碰到这种情况:比如我们渲染一个table,从后端返回的数组里面并没有我们想要的字段,如果让后台帮忙加上的话,会增加冗余字段,这样会增加后端的维护成本,并不可取。2. 我们可以通过 this.$set 来增加一个字段比如:
const lists = res.data // 后端返回数组
this.tableData = lists.map(i =>
this.$set(i, edit , false)
return i
)
3. 更详细的可以去查看官方文档, ps:Vue官网转了好久打不开。。。
Vue里面的 $set的基本使用
参考技术A 当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的。data()
return
items: [
message: "one", id:"1" ,
message: "two", id:"2" ,
message: "three", id:"3"
]
;
,
mounted()
this.items[0]=message:"测试",id:"4"; //此时对象的值更改了,但是视图没有更新
this.$set(this.items,0,message:"测试",id:"4"); //$set可以触发更新视图
console.log(this.items)
,
methods:
// 调用方法:Vue.set( target, key, value )
// target:要更改的数据源(可以是对象或者数组)
// key:要更改的具体数据
// value :重新赋的值 handClick()
//Vue methods中的this 指向的是Vue的实例,这里可以直接在this中找到itemsthis.$set(this.items,0, message:"更改one的值", id:"0" );
,
;
以上是关于Vue向数组里面添加字段的主要内容,如果未能解决你的问题,请参考以下文章
Vue.set 向响应式对象中添加响应式属性,及设置数组元素触发视图更新