ant desing of vue的table表格点击行和操作框冲突处理方法

table表格点击操作项会和点击行方法冲突

问题描述

使用Ant Design of Vue组件库中的Table组件,实现点击某一行,选定这一行。由于表格中后面有操作框,在点击操作框时,会和点击行的方法冲突,出现操作之外的选定或者取消数据效果。

问题原因

感觉上是点击穿透造成,所以在操作框外侧的标签上添加了stop修饰符。禁止点击穿透。

代码截图展示

在这里插入图片描述

顺便展示table表格点击行选择的代码
html部分
<a-table
        ref="table"
        size="middle"
        rowKey="id"
        class="j-table-force-nowrap"
        :scroll="{x:true}"
        :columns="columns"
        :dataSource="dataSource"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange"
        :customRow="clickThenCheck">	//主要是这行代码,对每一行的点击进行处理
        
</a-table>
js部分
clickThenCheck(record) {
        //处理点击表格,选择取消该行
        return {
          on: {	//点击行绑定这一行的点击事件
            click: () => {
              let selectedRowKeys = this.selectedRowKeys //声名两个字段承接处理过的数据
              let selectionRows = this.selectionRows	
              //以下内容为查重和数据增删,自行编写,我这里贴出来是为了自己以后用起来方便
              if(this.selectedRowKeys.join(',').indexOf(record.id) > -1 ) {	
                this.selectedRowKeys.forEach( (ele, idx) => {
                  if( ele == record.id ) {
                    selectedRowKeys.splice( idx, 1 )
                  }
                })
                this.selectionRows.forEach( (ele,idx) =>  {
                  if( ele.id == record.id ) {
                    selectionRows.splice( idx, 1 )
                  }
                })
              }else {
                selectedRowKeys.push(record.id)
                selectionRows.push(record)
              }
              this.selectedRowKeys = selectedRowKeys
              this.selectionRows = selectionRows
            }
          }
        };
      },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值