【element-plus使用】el-select自定义样式、下拉框选项过长等问题解决

1、自定义样式

<template>
  <el-select v-model="value" style="width: 150px">
    <el-option label="选项一" value="option1"></el-option>
    <el-option label="选项二" value="option2"></el-option>
    <el-option label="选项三" value="option3"></el-option>
  </el-select>
</template>
.el-select-dropdown__item {
  background-color: #e6f7ff;
  color: #333;
}

参考

2、下拉框宽度自适应或自定义

  • 如果需要使下拉框的宽度和选项框一致,可以设置::fit-input-width="true"
    参考代码:
<el-select v-model="form.name" clearable filterable :fit-input-width="true">
	<el-option v-for="item in List" :key="item.id" :value="item.value" :title="item.value" />
</el-select>

选项的超出部分就会变成...

  • 如果要自定义下拉框的宽度,则可以参考如下代码实现
<el-select v-model="value" :popper-append-to-body="false" popper-class="my-select">
  <el-option
    v-for="item in options"
    :key="item.value"
    :label="item.label"
    :value="item.value"
    :title="item.label"
  >
  </el-option>
</el-select>
 
<style>
.my-select .el-select-dropdown__item {
  width: 300px;
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
</style>

选项的超出部分就会变成...参考(里面还有种方法是用横向滚动条,但感觉用户体验会不太好,pass)

补充:如果不希望选项超出部分变成…,直接都完整展示每个选项。可以参考下面的写法:
在这里插入图片描述
(我还没试过;是群里uu提供的)

3、选项过长且为…之后的优化

如果选项后面的内容变成了…,肯定是要优化一下的,不然用户体验也不好。

鼠标悬浮上去后展示完整内容(简单版)

这有个最简单的实现方法,上面2段代码中其实也已经出现了::title="item.label"

鼠标悬浮后展示完整内容(结合el-tooltip版)

el-select 下拉框选项文字内容过长
(没试过- -)

4、扩展:

el-select的远程加载选项写法;可以学一学
vue3+ts+element plus自定义el-select下拉选择器组件封装

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]提到的问题,可以通过修改样式代码来设置element-plus的el-select长度。引用\[2\]给出了一个示例的样式代码,其可以通过修改.el-input__wrapper的padding属性来调整el-select的长度。另外,还可以通过设置.el-select-dropdown__item的margin属性来调整下拉选项宽度。这样可以根据需要来自定义el-select的长度。 另外,引用\[3\]提到了element-plus的el-select组件有一个属性叫做fit-input-width,可以将下拉框宽度设置为与输入框的宽度相同。这样可以确保el-select的长度与输入框的长度一致。 综上所述,可以通过修改样式代码或使用fit-input-width属性来设置element-plus的el-select长度。 #### 引用[.reference_title] - *1* [element-plus的el-select实现触底加载更多(新版本报错踩坑)](https://blog.csdn.net/qq_21473443/article/details/131169526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [element-plus修改el-select下拉框的位置](https://blog.csdn.net/qq_43651168/article/details/130712253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值