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

解决Element UI中el-select下拉框因为选项内容过长导致下拉框宽度显示过长问题

在使用el-select下拉框时,当选项的内容过长就会自动撑开下拉框容器,导致下拉框的宽度显示异常,影响页面美观

在这里插入图片描述
我们更倾向于下拉框的宽度和el-select组件宽度保持一致

解决方法

1、使用el-select组件的popper-append-to-body属性(推荐)

设置el-select组件的属性popper-append-to-body为false:不将弹出框插入至 body 元素

<el-select v-model="form.type" placeholder="请选择类型" style="width: 100%" :popper-append-to-body="false">
  <el-option v-for="(item,index) in templateList" :key="index" :label="item.name" :value="item.value"></el-option>
</el-select>

修改组件css样式

.el-select-dropdown.el-popper{
  position: absolute !important;
  top: 30px !important;
  left: 0px !important;
  width: 100% !important;
}
/* 注意:如果不想出现横向滚动条,则不需要下面的代码 */
.el-select-dropdown .el-select-dropdown__item {
  overflow: initial;
  text-overflow: initial;
}

2、js动态设置显示宽度

使用el-select组件的visible-change事件,监听下拉框出现时,设置下拉框显示的宽度

<el-select v-model="form.type" placeholder="请选择类型" class="contractSelect" popper-class="contractSelectPopper" 
  style="width: 100%" @visible-change="visibleChange">
  <el-option v-for="(item,index) in templateList" :key="index" :label="item.name" :value="item.value"></el-option>
</el-select>

visibleChange代码

visibleChange(bool){
  // bool是true时下拉框显示
  if(bool){
    this.$nextTick(()=>{
      document.querySelector(".contractSelectPopper").style.width=document.querySelector(".contractSelect").clientWidth+"px"
    })
  }
}

最终效果
在这里插入图片描述


http://www.kler.cn/a/537480.html

相关文章:

  • 11.PPT:世界动物日【25】
  • React基础内容(面试一)
  • 【电商系统架构的深度剖析与技术选型】
  • 深入了解 MySQL:从基础到高级特性
  • 自动化测试工具selenium的安装踩坑
  • Kubernetes是什么?为什么它是云原生的基石
  • 25/2/8 <机器人基础> 阻抗控制
  • 如何使用Gemini模型,国内如何订阅购买Gemini Pro的教程,Gemini Pro 免费试用操作步骤, 谷歌 aistudio 使用入口
  • 系统URL整合系列视频四(需求介绍补充)
  • 基于架构的软件设计(Architecture-Based Software Design, ABSD)
  • UA-Track:不确定性感知端到端3D多目标跟踪
  • Leetcode 2-两数相加
  • 高速艇在波浪中的垂直运动MATLAB模拟与仿真
  • 【Maven】项目管理工具-Maven
  • 渗透中社会工程学:揭秘与防范
  • 两台1200之间的S7通信
  • 大模型相关概念
  • 编写Bash实现Linux网络流量监控统计,无需额外工具
  • Java 大视界 -- Java 大数据在智能供应链中的应用与优化(76)
  • RabbitMQ技术深度解析:打造高效消息传递系统
  • 【2024博客之星评选】走过这一年,踏上新阶梯
  • deepseek辅助写论文指令
  • [Python学习日记-82] 网络编程基础实战 —— 多用户 FTP(File Transfer Protocol,文件传输协议)项目
  • Opencv操作相关内容记录
  • 【工具变量】上市公司企业绿色新闻数据(2013-2023年)
  • k8s中,一.service发布服务,二.dashboard:基于网页的k8s管理插件,三.资源服务与帐号权限