当前位置: 首页 > article >正文

页面中包含多个el-popover,点击其中一个显示,其他的关闭(多个el-popover,click触发,点击都不消失的问题)

问题背景:需求是el-tree中的每个树节点后都有一个按钮,点击触发el-popover的显示,但是由click触发的el-popover,在点击下一个节点时,之前的都不消失。

解决办法:注:最主要的就是:ref="`data-type-${data.id}`"这句

             <el-popover
                :ref="`data-type-${data.id}`"
                popper-class="common-popover"
                placement="right"
                trigger="click"
                :tabindex="data.id"
              >
                <div
                  slot="reference"
                  class="data-type-text"
                  type="text"
                  size="mini"
                  :title="data.data_type"
                  :class="[data.data_type + '-text']"
                  @click="handleOpenDataOptions(`data-type-${data.id}`)"
                >
                  <span>{{ data.data_type }}</span>
                </div>
              </el-popover>
// 点击popover所在按钮触发的事件,保证同一时间只有一个popover显示
    handleOpenDataOptions(ref) {
      Object.keys(this.$refs).forEach((key) => {
        if (
          key != ref &&
          key.includes("data-type-") &&
          this.$refs[key].showPopper
        ) {
          // 检测到有其他popover显示时,将其他popover关闭
          this.$nextTick(() => {
            this.$refs[key].doClose();
          });
        }
      });
    },

 


http://www.kler.cn/news/357784.html

相关文章:

  • docker 基础镜像里 scratch 和alpine,ubuntu centos详细对比(镜像优化)
  • 如何声明一个类?类如何继承?
  • 网络最快的速度光速,因此‘‘光网络‘‘由此产生
  • Codeforces Round 979 (Div. 2) B. Minimise Oneness
  • WileyNJDv5_Template模板无法编译生成pdf文件
  • HTML+CSS (基础)
  • qt 序列化和反序列化
  • AI 代写是变现最快的副业项目,没有之一
  • docker harbor
  • Python学习的自我理解和想法(16)
  • 简单说说 spring构造器循环依赖 为什么无法解决(源码解析)
  • webpack 学习入门
  • Spring Boot技术:图书进销存管理的创新实践
  • AI金融攻防赛:YOLO理论学习及赛题进阶思路(DataWhale组队学习)
  • 【算法】C++中的二分查找
  • scala 抽象类
  • Python速成笔记——知识:GUI自动化控制鼠标
  • 数字化转型的难度是什么?
  • 51单片机快速入门之左移右移流水灯 2024年10/15
  • 【npm问题】报错信息