当前位置: 首页 > 知识库问答 >
问题:

vue.js - el-table多选 选中一条数据,其他一样id的也被选中,如何实现?

洪增
2023-09-14

image.png

选中其中一条数据之后,一样id的也被选中,这怎么实现啊

共有2个答案

邵华皓
2023-09-14

1、selection-change事件可以监听选择框的改变事件,里面的数据是所有已选中的数据,可以通过这个拿到所有已选中的id集合
2、根据上面获取的id集合从table data中筛选出所有相同id的数据
3、遍历上面符合的数据,使用toggleRowSelection(row, true)设置选中状态(可跟第二步的遍历一起进行)

靳越
2023-09-14

可以通过监听el-table的selection-change事件,并在事件触发时将一样id的数据也选中。具体步骤如下:

  1. 在el-table上添加selection-change事件的监听器:
<el-table @selection-change="handleSelectionChange" ... >  ...</el-table>
  1. 在methods中定义handleSelectionChange方法,该方法将被触发选中状态发生变化时:
methods: {  handleSelectionChange(selection) {    // 获取当前选中的数据    const selectedData = selection[0];        // 通过数据中的id属性,筛选出与选中数据的id相同的其他数据,并设置选中状态    this.tableData.forEach(item => {      if (item.id === selectedData.id) {        this.$refs.table.toggleRowSelection(item, true);      }    });  }}

其中,tableData为el-table的数据源,$refs.table为el-table的引用,toggleRowSelection方法用于控制数据的选中状态。

这样,当选中一条数据后,与之具有相同id的其他数据也会被选中。

 类似资料:
  • el-table有一个筛选功能,筛选和重置都没有问题;但是表格上面还有单独写的查询功能,现在的业务要求是点击上面的查询按钮,可以获取到筛选那儿都勾选了哪些,去做查询,目前不清楚如何获取到勾选的数据。 因为只有点击了筛选或重置才会触发事件,了解到勾选了哪些,现在触发查询在另外一个地方,不知道应该怎么办了 希望获取到勾选的数据。

  • 选中“第一键”复选框时,我想选中并禁用“第二键”复选框 html代码 为复选框键入脚本代码 } 通过使用此代码,key 2复选框被选中并禁用。但是key 2复选框的布尔值仍然是假的。当我单击key 1复选框时,关于如何将key 2复选框的布尔值更改为true的任何建议我正在使用Angular 8及其反应式形式模块。我是角度新手。

  • el-table中设置tree-props树形数据勾选完成后怎么回显选中状态

  • vue2中其他组件引用el-table的勾选数据,为何会导致el-table横向滚动条重置? 1、页面中el-table宽度超过100%,X轴出现滚动条,勾选后获得的数据是multipleSelection 2、页面中另一个组件 <Demo :list="multipleSelection"></Demo> ,组件没有修改list的任何操作 3、每次勾选X轴的滚动条都会回到初始位置,就像el-ta

  • 本文向大家介绍input:checkbox多选框实现单选效果跟radio一样,包括了input:checkbox多选框实现单选效果跟radio一样的使用技巧和注意事项,需要的朋友参考一下 最近遇到一个小小的问题,就是有时候我们使用单选radio的时候,会发现当我们选中一个之后,再也无法一个都不选了,即选中后没有取消的功能,此时便想到了功能强大的checkbox,但他是多选,怎么才能让他变成单选,效

  • 我想选择数据表()的特定行值(此处),其中过滤条件位于其他数据表()中。它不是一个精确的过滤器,因为如果我在中有值3,我在中就有这个值的最小值和最大值变量。此外,我有一个字符串,其中包含特定的模式。例如: 中的 和 中的相应行包含 , 和 ,即 。 我在寻找这个值所在的范围和最大目标值的直线。 我有以下简化的例子: 看起来像这样: 我包括<code>大小 到目前为止,我的解决方案如下: 我写了一个