el-popover 通过js手动控制弹出框显示、隐藏

2023-11-09

el-popover 通过js手动控制弹出框显示、隐藏

说明

element ui 2.x中,el-popover的显示隐藏有4种触发方式:click/focus/hover/manual,分别是点击/聚焦/悬浮/手动,正常情况这几个触发方式已经能满足大部分需求,但有些业务场景需要通过代码自动触发弹框展示

例如:在后台请求响应返回后,自动打开弹框展示内容,这时我们如果使用的click(click已验证,focus/hover未验证)触发方式,则无法通过js显示弹框

如果使用manual触发方式,主动添加点击事件,可以通过js显示弹框,但无法实现点击空白处关闭弹框,但此方案已基本接近最终需求,针对点击空白处关闭提供全局点击事件处理即可,具体示例如下:

代码示例

<el-popover
  ref="myPopover"
  :value="showPopover"
  placement="bottom"
  width="550"
  trigger="manual"
  :open-delay="500"
  @show="openPopover"
  @hide="closePopover"
>
  <el-table>....弹框展示内容...</el-table>
  <el-tooltip slot="reference" content="弹框展示" effect="dark" placement="bottom">
  	<!-- 主动点击实现弹框展示关闭 -->
    <span class="hover-effect" @click="trigger">
      <svg-icon icon-class="popover1" />
    </span>
  </el-tooltip>
</el-popover>
data() {
  return {
    showPopover: false
  }
},
methods: {
  trigger() {
   //点击控制弹框展示/关闭
   this.showPopover= !this.showPopover
  },
  openPopover() {
    //弹框展示时注册全局点击事件
    document.addEventListener('click', this.hidePopover, false)
  },
  closePopover() {
    //弹框关闭时移除全局点击事件
    document.removeEventListener('click', this.hidePopover, false)
  },
  hidePopover(e) {
    // 全局点击事件,检测当前点击位置不包含弹框的元素,则隐藏弹框
    if (!this.$refs.myPopover.$el.contains(e.target)) {
      this.showPopover= false
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

el-popover 通过js手动控制弹出框显示、隐藏 的相关文章

随机推荐

  • 在职的我竟然一次通过了注册测绘师考试(注册测绘师备考经验分享)

    先上一波成绩吧 首先说一下我是万万没想到案例能过的 本来做好二战准备的 认为案例答的不够全面 时间不够了 既然过了那我就回想下从几个方面简短的整理下经验吧 没过的话叫教训 希望帮助给后面的同学 时间准备 确切的开始时间记不清了 但应该是20
  • Unity SpriteAtlas 打包AssetBundle的一些问题总结

    1 新版sprite要打包成图集 需要手动创建SpriteAtlas资源 然后选择需要打包进图集资源的Sprite目录或资源文件 参考 https docs unity3d com Manual class SpriteAtlas html
  • 从入门到入土:[SEED-Lab]- Packet Sniffing and Spoofing Lab

    此博客仅用于记录个人学习进度 学识浅薄 若有错误观点欢迎评论区指出 欢迎各位前来交流 部分材料来源网络 若有侵权 立即删除 本人博客所有文章纯属学习之用 不涉及商业利益 不合适引用 自当删除 若被用于非法行为 与我本人无关 SEED Lab
  • UE4 后处理材质 镜头光晕(Lensflare)效果

    介绍 基于PostProcessMaterial实现镜头光晕 Lensflare 的效果 不使用UE自带的Lensflare 在ShaderToy上发现一个好看的 ShaderToy地址 ShaderToyLensflareSample 将
  • Java面向对象编程

    上网的时候 访问某个网页却突然出现了某个运营商的网页 如联通 电信 出现此问题可能的原因是 A DNS劫持 B DDoS攻击 C MAC地址欺骗 D 伪造DHCP服务器 答案 A TCP建立连接的三次握手中 第二次握手发送的包会包含的标记
  • Vue3 使用 jsx

    使用 jsx 格式文件 和 defineComponent 引用自定义组件 传递属性 基本使用 child jsx 组件的配置 demo jsx setup 函数 父组件引用 import demo from components demo
  • 课堂实验-【集成学习】

    实验名称 实验 集成学习 实验目的 1 了解决策树 随机森林理论基础 2 平台实现算法 3 编程实现决策树 随机森林算法 实验原理 决策树 Decision Tree 是在已知各种情况发生概率的基础上 通过构成决策树来求取净现值的期望值大于
  • 【pandas】TypeError: concat() got multiple values for argument 'axis'

    TypeError concat got multiple values for argument axis 原代码 var LotArea data pd concat df train SalePrice df train var ax
  • Hive--添加/更改表字段类型

    Hive添加表字段 新增字段表 alter table 表名 add columns 字段名 数据类型 alter table table name add columns c time string comment 当前时间 正确 添加在
  • Mock.js配合vuex进行登录获取token

    新项目 后端数据还没准备好 没办法直接从后端获取接口数据 于是我利用Mock简单实现一下这个功能 以作为测试用 首先 利用 cnpm install mockjs save dev 指令安装完mock后 在项目里创建文件夹mock 再创建i
  • 安装python软件找不到setuptools的解决方案

    from http blog csdn net newjueqi article details 47446965 在新装的centos系统中 用源码安装supervisor提示如下 plain view plain copy root 1
  • jeecgboot使用例子

    文章目录 java代码示例 方法请求例子 switch case 语句 判断包含多个实体的List中 是实体之间的userid重复 java8如何用Stream查List对象某属性是否有重复 JAVA判断字符串是否为null 是否为空 my
  • 恭喜广工荣获2023CUBAL冠军

    恭喜广工 作者 良知犹存 转载授权以及围观 欢迎添加微信公众号 羽林君 1 竞技比赛就有这样的刺激 也许到最后一刻才能决出胜负 一个赛季努力在最后几秒进行抉择 让人热血沸腾 尤其是人们也喜欢弱者的逆袭 再一次面对清华 一支来自由全国顶级篮球
  • Vue 对象数组修改数组中的对象的某个元素,元素更新了视图不更新的问题解决

    问题描述 当我修改数组对象中的某个元素的时候 元素更新了 但是视图没有更新 例如下数组对象 attendanceTime workDays 周一 shiftId 1 shiftTime workDays 周二 shiftId 2 shift
  • 使用uni-app开发叮咚买菜的一些笔记

    本项目纯开源免费 商品信息均来自网络 如有侵权 请联系作者 我会及时删除 前一段 看到一个大佬写的叮咚买菜 挺好 于是乎自己在家也琢磨了一下 自己搞了一版本 记录一些uni app的开发事项 纯属个人总结 不对之处 还请指教 功能不是很全面
  • 硬件工程师-MOS管

    目录 DS等效电阻 Rdson MOS管 GS电容 MOS管的损耗 MOS管体二极管 讨论MOSFET的GS电容问题 MOSFET的GS电容对管子开通特性的影响 MOS管GS下拉电阻 MOS管的等效模型 MOSFET是如何进行导通的 Rds
  • OpenCV-Python 图像平滑处理1:卷积函数filter2D详解及用于均值滤波的案例

    一 图像平滑处理简介 图像平滑处理属于图像空间滤波的一种 用于模糊处理和降低噪声 模糊处理经常用于图像预处理任务中 例如在 大 目标提取之前去除图像中的一些琐碎细节 以及桥接直线或曲线的缝隙 模糊处理后的图像 可以通过阈值处理 形态处理等方
  • 线性稳压芯片LR78L05U参数

    属性 参数值 商品目录 线性稳压芯片 输出电流 100mA 稳压器数 1 输出类型 Fixed 压降 最大值 1 7V 40mA 工作温度 55 125 工作电源电流 最大值 6 1mA 输入电压 最大值 30V 输出配置 Positive
  • Unity 在编辑模式下退出游戏

    实现在编辑器环境下退出编辑器 在非编译器环境下退出游戏 我们需要判断当前是否在编辑器环境中 在unity中是使用预处理的方式判断当前的环境 常用的预处理标识符如下 标识符 解释 UNITY EDITOR 只在编辑器中编译 UNITY AND
  • el-popover 通过js手动控制弹出框显示、隐藏

    el popover 通过js手动控制弹出框显示 隐藏 说明 element ui 2 x中 el popover的显示隐藏有4种触发方式 click focus hover manual 分别是点击 聚焦 悬浮 手动 正常情况这几个触发方