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 给数据赋值

如何从 Vue.Js 中的变量向数组添加值以制作条形图

循环时向数组添加字段和值?

Vue.set 向响应式对象中添加响应式属性,及设置数组元素触发视图更新

vue:动态添加删除el-form-item并做rules校验

js如何向数组里面添加数据和遍历出来数组里面的内容