element-ui 多选框组件el-checkbox-group

element-ui版本:^2.0.4
代码如下:scope.row.id为该行数据的id,想把这个id作为attribute对象里的key

clipboard.png

clipboard.png

问题如下图:选择一个checkbox之后,该组的checkbox都被选中,该组对应的v-model的值为true,而不是我想要的id的数组集合,应该怎么改?

clipboard.png

阅读 18.5k
4 个回答

最终只需在得到表格数据tableAttrVal的之后,遍历tableAttrVal的id,取其id作为attribute的key,思路如@Shyla所说,template和data都不需做改变
将attribute中每个key对应的值改为数组类型,
稍作改变如下:

this.tableAttrVal.map((v) => {
    this.$set(this.attribute,v.id,[])
})

参考:
clipboard.png

你在循环体里面绑定model。

你可以先试试,不确定可行
首先attribute = [],然后在获取到tableAttrVal的时候写个循环

this.tableAttrVal.map((v) => {
    this.attribute[v.id] = []
})

<el-checkbox-group v-model="attribute['tag'+scope.row.id]"></el-checkbox-group>

attribute也要改:

this.tableAttrVal.map((v) => {
    this.attribute['tag'+v.id] = []
})

楼主大大, attribute = [] 是一个数组而不是你所写的对象,另外传递id的写法也是有点问题的。~.~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题