在vue的集合中追加数据,而不是覆盖数据
背景:今天遇到一个问题,后端返回的是实体类集合,想添加几个新字段,但这样改动会比较大,影响也比较大,所以就想在前端拿到集合后,循环添加几个值。例如原本数据[{“name”: “小明”,“age”: 17}, {“name”: “小红”,“age”: 17}],现在想添一个sex性别,变成[{“name”: “小明”, “age”: 17, “sex”, “男”},{“name”: “小红”, “a
·
背景:
今天遇到一个问题,后端返回的是实体类集合,想添加几个新字段,但这样改动会比较大,影响也比较大,所以就想在前端拿到集合后,循环添加几个值。例如原本数据[{“name”: “小明”,“age”: 17}, {“name”: “小红”,“age”: 17}],现在想添一个sex性别,变成[{“name”: “小明”, “age”: 17, “sex”, “男”}, {“name”: “小红”, “age”: 17, “sex”, “男”}]。
最终发现可以直接使用Vue.set()函数,或在methods里面使用this.$set()。
//this.$set(修改对象或集合,新增key,新增key对应的值)
//例如[{"name": "小明","age": 17}, {"name": "小红","age": 17}]
//===> [{"name": "小明", "age": 17, "sex", "男"}, {"name": "小红", "age": 17, "sex", "男"}]
let list = [{"name": "小明","age": 17}, {"name": "小红","age": 17}]
for(let i=0; i<list.length; i++){
this.$set(list[i],"sex","男")
}
更多推荐
已为社区贡献8条内容
所有评论(0)