toggleRowSelection取消选中无效

发布于 2022-09-11 20:24:25 字数 497 浏览 9 评论 0

//有一个选中的列表
//dialogCheckedData是表格选中的行数据
//表格table的ref="dialogTable"
<ul>
    <li class="model-item" v-for="item in dialogCheckedData" :key="item.id">
        <span>{{ item.name }}</span>
        <div  @click="cancelSelection(item)">X</div>
    </li>
</ul>
//method:
cancelSelection(item) {
    this.$nextTick(() => {
       this.$refs.dialogTable.toggleRowSelection(item, false)
    })
    ...
}

大概的代码结构如下结果取消不了选中

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

菊凝晚露 2022-09-18 20:24:25

已解决。toggleRowSelection(item, false)中的item一定得是表格的行数据,值相等也不行。

    cancelSelection(obj) {
            // 删除数据
            this.dialogCheckedData= this.dialogCheckedData.filter(item => {
              return item.id !== obj.id
            })
            // 取消表格的勾选
            this.tableData.map(item => {
              if (item.id === obj.id) {
                this.$refs.dialogTable.toggleRowSelection(item, false)
              }
            })
          }
一花一树开 2022-09-18 20:24:25

检查能否拿到 this.$refs.dialogTable

暮光沉寂 2022-09-18 20:24:25

以上问题还是有BUG的(场景:分页是取消选中问题)
解决思路:定义一个数组存放分页选中代码,同时监听表格数据变化
image.png
image.png
image.png

上面的方法还是有问题,每次选中都会触发选中,近期改进方案如下
1.单独定义单选和多选
image.png
image.png
image.png
image.png
以上大概是主要代码,参考哈

柏林苍穹下 2022-09-18 20:24:25

感谢解决了我的问题,我困惑了快一天

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文