用set改变数组时,如果数组里面是对象,例如想把下面的第一项的key值name改成fullName,要怎么做呢

来源:3-9 Vue中的set方法

慕斯卡7361223

2018-04-26

user:[
                    {
                        name:"meyalin",
                        age:26,
                        sex:"woman",
                        id:1
                    },
                    {
                        name:"wuyanzu",
                        age:26,
                        sex:"woman",
                        id:2
                    }
                ]


写回答

3回答

于曼丽

2018-07-17

你是想改成这样吗?

user: [

    { fullname: 'meyalin', age: 26, sex: 'woman', id: 1},

    { name: 'wuyanzu', age: 26, sex: 'woman', id: 2}

]

最简单的方法就是直接替换 user 数组:

vm.user = 

[

    { fullname: 'meyalin', age: 26, sex: 'woman', id: 1},

    { name: 'wuyanzu', age: 26, sex: 'woman', id: 2}

]

也可以使用 splice 方法只替换数组的第一个元素:

vm.user.splice(0, 1, { fullname: 'meyalin', age: 26, sex: 'woman', id: 1} )

或者使用 set 方法替换数组的第一个元素:

Vue.set(vm.user, 0,  { fullname: 'meyalin', age: 26, sex: 'woman', id: 1})

如果你不想替换数组的第一个元素,那么可以为该对象添加一个 fullname 属性,然后删除一个 name 属性:

Vue.set(vm.user[0], 'fullname', 'meyalin')

Vue.delete(vm.user[0], 'name')


0
0

lsh_gengzhong

2018-05-24

Vue.set(vm.user,0,{

                        name:"fullname",

                        age:26,

                        sex:"woman",

                        id:1

                    })

0
0

Dell

2018-04-26

没法这么改,为什么会出现这种需求?

0
0

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10675 学习 · 8191 问题

查看课程