当前位置: 首页 > 知识库问答 >
问题:

前端 - Element UI el-date-picker选择面板被遮挡的原因及解决方案是什么?

姚正真
2024-07-06

在table中使用了一个el-date-picker,日期选择面板被遮挡,无法选择日期。

共有2个答案

宗政霄
2024-07-06

<el-date-picker> 元素添加 append-to-body 属性,让他挂载到 body 尾部就行了。

#Attributes - DatePicker 日期选择器 - 组件 | Element

蒲德曜
2024-07-06

Element UI el-date-picker 选择面板被遮挡的原因及解决方案

原因

Element UI 的 el-date-picker 组件在选择日期时,会弹出一个浮动的面板供用户选择日期。当这个组件被用于一些具有复杂布局或特定样式的场景(如表格 table 内),可能会遇到选择面板被遮挡的问题。这通常是由于以下几个原因造成的:

  1. 父级容器的 overflow 属性:如果 el-date-picker 的父级容器设置了 overflow: hidden; 或其他值,那么超出父级容器范围的元素可能会被隐藏。
  2. z-index 值较低:选择面板的 z-index 值可能低于其他页面元素,导致被遮挡。
  3. 绝对定位与相对定位el-date-picker 的选择面板使用了绝对定位,但如果其父级或祖先级元素也使用了定位(如相对定位或固定定位),可能会导致定位上下文的变化,从而影响选择面板的显示。
  4. 其他 CSS 样式冲突:如 transformopacityvisibility 等 CSS 属性也可能影响选择面板的显示。

解决方案

  1. 调整父级容器的 overflow 属性:检查并修改 el-date-picker 父级容器的 overflow 属性,确保其不会隐藏弹出的选择面板。如果必须保留 overflow 属性,可以考虑将 el-date-picker 移到不会受到 overflow 影响的区域。
  2. 增加选择面板的 z-index:通过自定义 CSS 类或使用 Element UI 的相关属性来增加选择面板的 z-index 值,确保其高于其他页面元素。
  3. 检查并调整定位属性:确保 el-date-picker 的父级和祖先级元素没有使用可能影响定位的属性(如 position: relative;)。
  4. 检查并调整其他 CSS 样式:确保没有其他 CSS 样式影响了选择面板的显示。可以尝试禁用或修改与 el-date-picker 选择面板显示相关的 CSS 规则。
  5. 使用 Element UI 的 append-to-body 属性el-date-picker 组件支持一个 append-to-body 属性,当设置为 true 时,选择器会被渲染到 body 下,这样可以避免选择器被其他元素遮挡。

示例代码(使用 append-to-body 属性):

<el-date-picker
  v-model="date"
  type="date"
  placeholder="选择日期"
  append-to-body
></el-date-picker>
 类似资料:
  • 本文向大家介绍Android软键盘遮挡的四种完美解决方案,包括了Android软键盘遮挡的四种完美解决方案的使用技巧和注意事项,需要的朋友参考一下 一、问题概述   在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图:   输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示:   输入密码时输入框被系统键盘遮挡了,大大降低了用户操

  • 本文向大家介绍javascript跨域原因以及解决方案分享,包括了javascript跨域原因以及解决方案分享的使用技巧和注意事项,需要的朋友参考一下 产生跨域问题的原因 跨域问题是浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性。 跨域问题产生的场景 当要在在页面中使用js获取其他网站的数据时,就会产生跨域问题,比如在网站中使用ajax请求其他网站的天气、快递或者其他数据接口时以及hy

  • 本文向大家介绍移动端滚动穿透是什么原因?有哪些解决方案?相关面试题,主要包含被问及移动端滚动穿透是什么原因?有哪些解决方案?时的应答技巧和注意事项,需要的朋友参考一下 https://segmentfault.com/a/1190000020321154

  • vue3不执行onload方法 下面是我的测试代码,mounted和nextTick总是前后脚一起打印出来,但onload不执行 我的需求是弄一个loading,所以需要监听页面是否完全加载完成关闭loading 会出现背景图还没渲染完成的情况

  • DatePicker 日期选择器 用于选择或输入日期 选择日 以「日」为基本单位,基础的日期选择控件 :::demo 基本单位由type属性指定。快捷选项需配置shortcuts,禁用日期通过 disabledDate 设置,传入函数 constructor(props) { super(props) this.state = {} } render() { const {valu

  • OpenLayers 地图设置中心点不生效 初始化是设置了一个默认点 在后面定义了一个方法去修改他的中心点位置及缩放程度 在其他页面使用时 无论怎么修改都不生效 我不用这个方法使用默认点依旧没有生效 求求各位大佬看看,小弟没有搞过这个 但是我看了他的文档好像确实这么写的