解决 el-table使用 el-popover 点击没反应 bug

项目场景:


原因分析:

 在el-table使用el-popover时不能简单的按照官网给的实例操作 实例只针对单个的按钮管用在表格里每一列都有el-popover相当于是v-for遍历了 所以我们在触发按钮的时候并不是单个的触发某一个 

解决方案:

方法1:

<template slot-scope="scope">

   <el-popover

         placement="top"

        :ref="`popover-${scope.$index}`">

        <p>确定删除?</p>

        <div style="text-align: right; margin: 0">

                <el-button style="padding: 2px;" size="mini" type="text"                                 ​​​​​​​                                    @click="scope._self.$refs[`popover-${scope.$index}`].doClose()">取消

                </el-button>

                <el-button style="padding: 2px;" type="primary" size="mini"                                           @click="deltaskList(scope)">确定

                </el-button>

          </div>

          <el-button slot="reference" type="text" size="small">删除</el-button>

   </el-popover>

</template>

//方法

deltaskList(e){

        e._self.$refs[`popover-${e.$index}`].doClose();

},

方法2:

<template slot-scope="scope">

   <el-popover

         placement="top"

        :ref="`popover-${scope.$index}`">

        <p>确定删除?</p>

        <div style="text-align: right; margin: 0">

                <el-button style="padding: 2px;" size="mini" type="text"                 ​​​​​​​        ​​​​​​​        ​​​​​​​                                    @click="deltaskList(scope.$index)">取消

                </el-button>

                <el-button style="padding: 2px;" type="primary" size="mini">确定

                </el-button>

          </div>

          <el-button slot="reference" type="text" size="small">删除</el-button>

   </el-popover>

</template>

//方法

deltaskList(index){

       this.$refs[`popover-${index}`].doClose()

},

方法3:

<template slot-scope="scope">

   <el-popover

         placement="top"

         v-model="item.row.visible">

        <p>确定删除?</p>

        <div style="text-align: right; margin: 0">

                <el-button style="padding: 2px;" size="mini" type="text"                 ​​​​​​​        ​​​​​​​        ​​​​​​​                                    @click="deltaskList()">取消

                </el-button>

                <el-button style="padding: 2px;" type="primary" size="mini"         ​​​​​​​                                                      @click="deltaskList()">确定

                </el-button>

          </div>

          <el-button slot="reference" type="text" size="small">删除</el-button>

   </el-popover>

</template>

//方法

deltaskList(){

      this.$refs.closepopover.click();

},

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-table的多列中使用el-popover可以通过在相应的el-table-column标签中设置el-popover的属性来实现。可以参考以下代码示例进行实现: ```html <el-table> <el-table-column label="列1"> <!-- 列1的内容 --> </el-table-column> <el-table-column label="列2"> <!-- 列2的内容 --> <template slot-scope="scope"> <el-popover :ref="`popover-${scope.row.id}`" popper-class="table-list-popper" placement="left" width="200"> <!-- el-popover的内容 --> </el-popover> </template> </el-table-column> <el-table-column label="列3"> <!-- 列3的内容 --> </el-table-column> </el-table> ``` 在以上代码中,el-popover被放置在el-table-column的template标签中,通过slot-scope获取当前行的数据,使用ref属性来标识el-popover的引用。可以根据需要设置el-popover的其他属性,比如placement设置弹出框的位置,width设置弹出框的宽度等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [解决el-popover嵌入表格多列显示和被表格遮挡的问题](https://blog.csdn.net/Smilelifeeveryday/article/details/123247713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [解决el-table使用el-popover组件弹窗显示关闭问题](https://blog.csdn.net/qq_41623635/article/details/131254779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值