全屏后 element-ui 组件不显示

ops/2024/9/22 20:14:38/

文章目录

    • 问题
    • 分析
      • ElementUI 解决方案
      • ElementPlus 解决方案
    • 注意

问题

上篇我们说到如何 将 DIV 全屏展示
在使用将页面中指定的 DIV 全屏展示后,出现全屏后 element-ui 组件不显示,全屏后展示的提示信息是没有的,如下如所示:

  • 全屏前
    在这里插入图片描述
  • 全屏后
    在这里插入图片描述

分析

使用fullScreen进行全屏后,查看弹框,发现其实提示弹框是正常加载的,但是挂载在body下:
在这里插入图片描述

ElementUI 解决方案

append-to-body 作用:tooltip是否插入到body中. 类型:boolean, 默认:true
该属性默认为true, 如果为true, 则tooltip默认插入到body元素中
设置为false, 则需要使用append方法手动插入. 如:

<script>
export default {name: 'App',data() {return {}},created() {this.$message('这是一条消息提示')},mounted() {console.log('this.$refs.elTooltip', this.$refs.elTooltip)// 因为将append-to-body设置成了false, 所以需要手动插入this.$refs.comp.appendChild(this.$refs.elTooltip.popperVM.$el)},
}
</script>
<template><div ref="comp"><h3>Hello Vue 2</h3><el-button type="primary">按钮</el-button><el-tooltip ref="elTooltip" :append-to-body="false" class="item" effect="light" placement="top"><el-button>上边</el-button><div slot="content" class="tooltipContainer"><div v-for="(item, index) in 100" :key="index">{{ item }}-这是内容</div></div></el-tooltip></div>
</template>
<style lang="scss">
.tooltipContainer {max-height: 200px;overflow: auto;
}
</style>

ElementPlus 解决方案

全屏时,fullscreen的并不是整个body,所以导致无法正常展示提示信息,所以需要将提示信息绑定在fullscreen进行全屏的元素的内部,那么就可以利用append-to进行设置

<!-- 父元素绑定ref -->
<div class="chart_head" ref="classOverViewTooltipRef"><span class="chart_title">各班级概况</span><!-- 	挂在到父元素上 --><el-tooltip effect="dark" placement="top" :append-to="classOverViewTooltipRef"><template #content> 统计数据来源:当前所选条件下,每个学生当前课程的<br />最新一次成绩 </template><el-icon><InfoFilled /></el-icon></el-tooltip>
</div>

elementPlus中的tooltip,默认挂载在body下,使用fullScreen进行全屏后,查看弹框,发现其实提示弹框是正常加载的,但是挂载在body下: 查看tooltip文档说明,发现有属性设置提示内容附加在哪一个元素上,而翻看源码可知,默认会创建一个div放置,而这个div又会挂载在body上 而全屏时,fullscreen的并不是整个body,所以导致无法正常展示提示信息,所以需要将提示信息绑定在fullscreen进行全屏的元素的内部,那么就可以利用append-to进行设置

注意

  1. 该方法只适用于单个的弹出框
  2. 不适用于 for 循环生成的弹出框

http://www.ppmy.cn/ops/44192.html

相关文章

使用Spring AOP实现接口参数变更前后对比和日志记录

推荐一个程序员的常用工具网站,效率加倍,嘎嘎好用:程序员常用工具云服务器限时免费领:轻量服务器2核4G腾讯云:2核2G4M云服务器新老同享99元/年,续费同价阿里云:2核2G3M的ECS服务器只需99元/年,续费同价记录接口调用前后的参数变化是一个常见的需求,这不仅有助于调试和…

C# ManualResetEvent的用法

在C#中&#xff0c;ManualResetEvent类是一个同步基元&#xff0c;用于控制多个线程的执行顺序。下面是一些ManualResetEvent类的常见用法&#xff1a; 等待一个事件的发生&#xff1a;可以使用ManualResetEvent的WaitOne方法来等待事件的发生。当事件被触发时&#xff0c;Wait…

vue3 RouterLink路由query传参

vue route query传参 一、传参页面,需要传id、title、content三个参数 <ul> <li v-for"news in newsList" :key"news.id"> <!--/news/detail--> <RouterLink :to"{ path:/news/deta…

辅助驾驶ADAS功能算法介绍

一、ADAS功能分类 按照行驶域划分,将ADAS功能分为行车功能、泊车功能和主动安全功能。 行车功能 ACC(Adaptive Cruise Control)自适应巡航控制TJA(Traffic Jam Assist)交通拥堵辅助LCC(Lane Centering Control)车道居中控制ICC(Integration Cruise Control)智能巡航系…

我加入了C++交流社区

最近&#xff0c;我决定加入了一个C交流社区&#xff0c;这是一个专注于C编程语言的在线平台。加入这个社区的初衷是为了提升我的编程技能&#xff0c;与其他对C感兴趣的人交流经验和知识。 加入这个社区后&#xff0c;我发现了许多有趣的讨论和资源。每天都有各种各样的话题&…

为飞腾平台编译jailhouse

需要基于上面成功编译的 Linux https://www.yuque.com/kejilieren/mm0yge/upbx4gnx3aar6op5 创建 jailhouse 文件夹&#xff0c;从飞腾官方仓库克隆工程源码。 scilogyhunterubuntu:~/phytium-linux$ ls phytium-linux-kernel scilogyhunterubuntu:~/phytium-linux$ mkdir ph…

C语言之指针详解(4)

文章目录 一、回调函数二、qsort使用举例2.1使用qsort函数排序整型数据2.2使用qsort函数排序结构体数据 三、qsort函数的模拟实现 一、回调函数 首先我们先来了解一下什么是回调函数 回调函数通俗来讲就是一个通过函数指针调用的函数。 如果你把函数的指针&#xff08;地址&am…

计算机毕业设计Hadoop+Hive地震预测系统 地震数据分析可视化 地震爬虫 大数据毕业设计 Spark 机器学习 深度学习 Flink 大数据

2024 届本科毕业论文&#xff08;设计&#xff09; 基于Hadoop的地震预测的 分析与可视化研究 姓 名&#xff1a;____田伟情_________ 系 别&#xff1a;____信息技术学院___ 专 业&#xff1a;数据科学与大数据技术 学 号&#xff1a;__2011103094________ 指导…