Elemenu中el-table中使用el-popover选中关闭无效解决办法(最新推荐)

 更新时间:2024年03月11日 10:34:39   作者:满上  
这篇文章主要介绍了Elemenu中el-table中使用el-popover选中关闭无效解决办法(最新推荐),因为在el-table-column里,因为是多行,使用trigger="manual" 时,用v-model="visible"来控制时,控件找不到这个值,才换成trigger="click",需要的朋友可以参考下

Elemenu中el-table中使用el-popover选中关闭无效解决办法

主要是技术太菜,没找到原因,一点点才找到这个办法解决

因为在el-table-column里,因为是多行,使用trigger="manual" 时,用v-model="visible"来控制时,控件找不到这个值,才换成trigger="click"

先找到弹出关闭事件,再找元素的属性

右键>审核元素,找到他的单击事件,里面就有关闭的属性

使用ref定位,js中根据ref修改是否显示showPopper = false;

页面大概代码

<el-table-column>
    <template slot-scope="scope">
        <el-popover :ref="col.prop+'_'+scope.$index" trigger="click" >
            <span slot="reference" @click="ev_gytj_clk(scope.row,scope.$index)">{{ scope.row[col.prop] }}</span>
		</el-popover>
    </template>
</el-table-column>

js代码

ev_gytj_clkitem(row,index,item){			
			row.gytj=item
			//Popper选中关闭		
			this.$refs['gytj_' + index][0].showPopper = false
		},

补充:

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

项目场景:

原因分析:

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

解决方案:

方法一:

<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();
},

方法二:

<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()
},

方法三:

<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();
},

到此这篇关于Elemenu中el-table中使用el-popover选中关闭无效解决办法的文章就介绍到这了,更多相关el-table使用el-popover选中关闭无效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Console高级用法总结

    Console高级用法总结

    Console 对象提供了浏览器控制台调试的接口。在不同宿主环境上它的工作方式可能不一样,但通常都会提供一套共性的功能,本文主要总结了Console的一些高级用法,感兴趣的小伙伴可以参考一下
    2023-04-04
  • Vue绑定class和绑定内联样式的实现方法

    Vue绑定class和绑定内联样式的实现方法

    本文主要介绍了Vue绑定class和绑定内联样式的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • vue组件中的样式属性scoped实例详解

    vue组件中的样式属性scoped实例详解

    vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素 。接下来通过本文给大家分享vue组件中的样式属性scoped实例详解,感兴趣的朋友跟随小编一起看看吧
    2018-10-10
  • Vue使用插槽实现高复用组件

    Vue使用插槽实现高复用组件

    在现代前端开发中,组件化开发已经成为主流,其中 Vue.js 的插槽(slots)特性为我们构建灵活、可复用的组件提供了强有力的支持,下面我们就来看看Vue如何通过插槽实现高复用组件吧
    2024-11-11
  • elementplus 中 DatePicker 日期选择器样式修改无效的问题及解决方案

    elementplus 中 DatePicker 日期选择器样式修改无效的问题及解决方案

    这篇文章主要介绍了elementplus中DatePicker日期选择器样式修改无效的问题,DatePicker日期选择器弹出面板默认挂载在body上,所以在组件中添加了 scoped 属性的 style 标签下是修改不到其样式的,讲解了datepicker的使用方法,及常见的配置项和对应的值,需要的朋友可以参考下
    2024-01-01
  • vue的url请求图片的问题及请求失败解决

    vue的url请求图片的问题及请求失败解决

    这篇文章主要介绍了vue的url请求图片的问题及请求失败解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 基于VUE的v-charts的曲线显示功能

    基于VUE的v-charts的曲线显示功能

    这篇文章主要介绍了基于VUE的v-charts的曲线显示功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • vue实现点击追加选中样式效果

    vue实现点击追加选中样式效果

    今天小编就为大家分享一篇vue实现点击追加选中样式效果,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Vue 页面跳转不用router-link的实现代码

    Vue 页面跳转不用router-link的实现代码

    这篇文章主要介绍了 Vue 页面跳转不用router-link的实现代码,文中给大家介绍了vue router-link跳转传值示例,需要的朋友可以参考下
    2018-04-04
  • webpack如何打包一个按需引入的vue组件库

    webpack如何打包一个按需引入的vue组件库

    在vue项目开发中,我们会将经常用到的逻辑或模块抽象成组件,对于那些多个项目都有用到的组件,可以考虑封装成组件库,这篇文章主要给大家介绍了关于webpack如何打包一个按需引入的vue组件库的相关资料,需要的朋友可以参考下
    2022-02-02

最新评论