美文网首页
el-popover 在el-table中使用 doClose(

el-popover 在el-table中使用 doClose(

作者: 扶得一人醉如苏沐晨 | 来源:发表于2023-10-07 18:03 被阅读0次

el-table表格中使用el-popover打开和关闭失效的问题及解决过程在 element-ui 中 el-table 中使用Popover弹框

<el-table-column>
    <template slot-scope="{row}">
        <el-popover placement="bottom" title="更多" width="100" trigger="click" :ref="'popover' + row.id">
            
          <el-button type="primary" size="mini" @click="handleConfirm(row)">确定</el-button>
        </el-popover>
   </template>
</el-table-column>

这里ref使用变量的形式,因为是多个循环的el-popover
这里需要点击确定来关闭el-popover窗口,发现如下代码不生效

handleConfirm(row) {
    this.$refs['popover' + row.id].doClose();
}

发现vue 不能检测到ref的值变化 不能触发视图更新,原因是表格中添加lazy 懒加载
通过如下代码解决

handleConfirm() {
    // 模拟点击页面其它部分关掉弹层,因为该页面列表使用懒加载导致doClose无效
    document.body.click() 
}

相关文章

网友评论

      本文标题:el-popover 在el-table中使用 doClose(

      本文链接:https://www.haomeiwen.com/subject/tcdvbdtx.html