Element-Plus select选择器-下拉组件错位bug(有高度滚动时)

1. bug重现

  • 由于项目不便展示,因此在官网复现bug
    https://element-plus.org/zh-CN/component/select.html#基础用法

在这里插入图片描述


在这里插入图片描述

2. 调试

  1. 源码调试时发现下拉菜单是直接放在body 元素里,这时候希望它不要直接放在body里, 查阅文档看到这两个属性:
    在这里插入图片描述
  2. 但是添加了上面的属性后,出现了新的问题,要么是不生效,要么是下拉菜单不显示了,但是这个时候通过调试代码已经发现 下拉菜单不是直接放在body里了,只是展示有问题;

3. 解决

  • popper-append-to-body 属性被官方标注为废弃,因此在这里使用 :teleported=“false”
  • 这里只提供解决方法,实际项目中需要封装一个全局组件,并以该全局组件代替 select选择器,组件中通过添加 v-bind=“$attrs” , 可以更简便的在使用时传递 element-plus 需要的属性.
  • 注意:
    • 在vue3中,跨组件传递属性函数只用 v-bind=“$attrs” 即可;
    • 在vue2中,跨组件传递属性使用 v-bind=“$attrs” , 跨组件传递函数使用 v-on=”$listeners”
<template><el-selectstyle="position: relative":teleported="false"@visible-change="(val) => {// do somethingcontrolSelectMenusFn(val);}"><el-option ...></el-option></el-select>
</template><script setup lang="ts">import { ref } from 'vue';const controlSelectMenus = ref('none');const controlSelectMenusFn = (val) => {if (val) {controlSelectMenus.value = 'line';} else {controlSelectMenus.value = 'none';}};
</script>
<style lang="less" scoped>::v-deep(.el-popper.is-pure.is-light.el-select__popper) {display: v-bind(controlSelectMenus) !important;}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7914.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程期末报告(登录注册部分)

云小智微校园工具系统的设计与实现成员1注册模块 目录 云小智微校园工具系统的设计与实现成员1注册模块 第一章 绪论 第二章需求分析&#xff1a; 1.活动图&#xff1a; 2.用例图&#xff1a; 什么用户参与了业务模块&#xff1a; 这类用户在模块中使用什么功能学生用户…

【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(数据更新场景策略和方案分析)

一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战&#xff08;数据更新场景策略和方案分析&#xff09; 数据更新场景Cache Aside Pattern策略思想具体操作分析失效&#xff08;Invalidation&#xff09;命中&#xff08;Cache Hit&#xff09;更新&…

【python】python编程基础

基础工具包 python 原生数据结构元组 Tuple列表 list集合 set字典 dictionary NumPy 数据结构数组 Ndarray矩阵 Matrix Pandas 数据结构序列 Series &#xff08;一维&#xff09;数据框 DataFrame &#xff08;二维&#xff09; Matplotlib 数据可视化绘制饼图绘制折线图绘制直…

git学习使用技巧

目录 关于版本控制 本地版本控制系统 集中化的版本控制系统 分布式版本控制系统 Git 是什么 直接记录快照&#xff0c;而非差异比较 近乎所有操作都是本地执行 Git 保证完整性 Git 一般只添加数据 三种状态 起步 - 初次运行 Git 前的配置 初次运行 Git 前的配置 用户…

软件测试流程扫盲:V/W/H模型,测试左移测试右移

一、软件测试模型 &#xff08;一&#xff09;V模型 V模型是瀑布模型的一种改进V模型标明了测试过程中的不同阶段 1.V模型每个测试阶段的测试内容 单元测试&#xff1a;类、函数 集成测试&#xff1a;接口 系统测试&#xff1a;前期测功能有没有满足需求&#xff0c;后期满…

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库

介绍 Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库&#xff0c;基于 ECMA-376&#xff0c;ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式&a…

Meta为打造元宇宙不惜下血本:VR开发者年薪高达百万美元

7 月 2 日消息&#xff0c;尽管 2023 年被 Meta 称为“效率年”&#xff0c;但事实证明 Meta 正在以高得离谱的薪水吸引 VR 人才。据《华盛顿邮报》报道&#xff0c;该公司为了吸引优秀的 VR 开发者&#xff0c;提供了高达百万美元的年薪&#xff0c;远超市场水平。 报道援引知…

隐藏菜单之菜单和搜索

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>菜单</title><style>/* css代码开始*/* {margin: 0;padding: 0;box-sizing: border-box;}b…

泰迪智能科技基于产业技能生态链学生学徒制的双创工作室--促进学生高质量就业

据悉&#xff0c;6月28日&#xff0c;广东省人力资源和社会保障厅在广东岭南现代技师学院举行广东省“产教评”技能生态链建设对接活动。该活动以“新培养、新就业、新动能”为主题&#xff0c;总结推广“产教评”技能人才培养新模式&#xff0c;推行“岗位培养”学徒就业新形式…

matlab 使用预训练神经网络和SVM进行苹果分级(带图形界面)支持其他物品图片分级或者分类

目录 数据集&#xff1a; 实验代码&#xff1a;alexnet版 如果你的matlab不是正版&#xff0c;先看这里&#xff1a; 数据集结构&#xff1a; 训练代码&#xff1a; 训练结果&#xff1a; 图形界面&#xff1a; 界面展示&#xff1a; 其他&#xff1a; 输出结果: 实验…

使用OpenCV工具包成功实现人脸检测与人脸识别,包括传统视觉和深度学习方法(附完整代码,吐血整理......)

使用OpenCV工具包实现人脸检测与人脸识别&#xff08;吐血整理&#xff01;&#xff09; OpenCV实现人脸检测OpenCV人脸检测方法基于Haar特征的人脸检测Haar级联检测器预训练模型下载Haar 级联分类器OpenCV-Python实现 基于深度学习的人脸检测传统视觉方法与深度学习方法对比 O…

WORDPRESS REST API 学习,使用VSCode 的 REST client 插件测试

WORDPRESS 的 REST API 本身是没有身份验证的&#xff0c;我安装了 miniOrange 的 WordPress REST API Authentication 免费部分只有 Basic Authentication 和 JWT Authentication &#xff0c; 作为学习 REST API 够用了。 一般使用 postman 测试 api &#xff0c;后来卸载了…