怎么给数组里的每个对象都添加一个新属性

  • Post author:
  • Post category:其他


需要新加一个字段

在接口请求过来的时候就加到res.data里,然后赋值给this.tableList

不然双向绑定不上

res.data是原数组

let newArr = []
res.data.map((item, index) => {
  newArr.push(
    Object.assign(item, { editsave: false} )
  ) 
})
this.tableList=newArr


如果是多个数组,怎么加

业务场景

培训经历 数据为多段经历,[{},{}]

一个数组包裹着多个对象,代表多段经历

一个表单里会有工作经历,项目背景, 培训经历 , 教育经历等 …

数据格式大概是这样

// 表单 包含多个培训组
form: {
    trainExperience: '',
    workExperience: '',
    projectExperience: ''
},
// 组里的数据 时间 内容
experience: '[{"startDate":"","endDate":"","content":""}]'

绑定方法 @click=“addmultipleArraysDate(‘trainExperience’)”

因为每个经历里是包含了开始结束时间还有内容

所以可以这样统一操作

addmultipleArraysDate(array) {
    this.form[array].push({ content: '', endDate: '', startDate: '' });
},
removemultipleArraysDate(name, index) {
      this.form[name].splice(index, 1);
}

后端定义这些字段都是字符串

前端需要处理一下数据

获取表单数据 有就接受并parse没有就赋值

// 对多段经历初始化数据格式
['trainExperience','workExperience','projectExperience'].forEach(item => 
{this.form[item]=JSON.parse(this.form[item]||this.experience);});

提交的时候 JSON.stringify 就可以了



版权声明:本文为weixin_47353884原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。