vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > el-table使用el-popover选中关闭无效

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

作者:满上

这篇文章主要介绍了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选中关闭无效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文