Element Plus组件el-select回显异常
前情
公司有经常需要做一些后台管理页面,我们选择了Element Plus,它是基于 Vue 3,面向设计师和开发者的组件库,是Vue框架生态中比较火的UI组件库,组件库丰富易用,组件链接:一个 Vue 3 UI 框架 | Element Plus
坑位
最近在开发一个需求,需要使用el-select组件实现多选,但是在回显的时候发现它回显的是value值而非label值,正常应该都是显示label值,value值是给程序用的,label才是给用户看的,如果让用户直接看到value值,用户会一脸蒙,根本不知道它是什么。

Why?
第一时间想到的是,是不是组件有参数可以配置哪一个字段用于回显,查了文挡无果,我无意去操作了下el-select才发现是因为当前select配置没有请求下来,如下图,所以当select配置没有的时候它会回显你绑定的值,因为没有配置它无法回显label

解决方案
理想情况下获取对应的el-select的正确配置,渲染好el-option即可正确回显label
坑中坑
好事多磨,获取了正确配置后,其中一个el-select是正确回显了label,但是另一个还是回显异常,查看配置是正常配置了的,又是一脸蒙的状态,如下图。

Why?
在反复确认后和多次尝试后发现其中有猫腻,发现服务端接口返回给我el-select配置和当前el-select的表单值类型是对不上的,应该是el-select在做回显value判断的时候用是===,值和类型都必须一致才行。如下图:


解决方案
查看服务端提交接口,发现它要求platform必须是字符串,那就是说它返回配置项数据类型是错的,这时有二种方法,一种是叫服务端修正下返回类型,另一种方法是前端在拉取配置后手动转下类型下拿来用,当然我选择了后者,自己动手丰衣足食,其实最优的方法是让服务端修正,前端修正的关键代码如下:
...
options.value.platformList = res.data.platform_options.map(item => {
item.value = item.value + "";
return item;
});
...
总结
在使用el-select的时候,正确的情况下都是会回显label的,在如下二种情况下它会回显异常:
- 配置没有,它会直接显示你v-model绑定的值,表面看就是el-select的配置项的value值,此时你补全配置即可
- 当你配置的项的value和你v-model绑定的值类型不一致的时候,它也会直接显示v-model绑定的值,此时确认服务端最后要提交的值是什么类型的,修正类型即可
Element Plus组件el-select回显异常的更多相关文章
- Element upload组件上传图片与回显图片
场景:新增商品时需要添加商品主图,新增成功之后可编辑 上传图片: <el-form-item label="专区logo:" style="height:160px ...
- Element Select 回显
有思考有痛点的朋友可以聊聊(要求:认真看过Element相关文档,对该场景自己有过多角度的探索) 下拉框回显的关键点:要回显的值包含于下拉列表的数组中 demo图 最近遇到一个需求抽象下:循环中下拉框 ...
- table组件选中数据回显
table组件多选状态下,把已选择的数据回显,需要在多选列上加上一个属性 :reserve-selection="true" 实例如下: <el-table :data=&q ...
- 解决element 照片墙上传时回显问题
1.先看看样式: <el-upload class="imgList" action="1165165" list-type="picture- ...
- vue element-UI 多个 select 回显成功,但是选中无反应
参考文章 vue开发(四)element的select下拉框设定初值后,不能重新选择的问题 参考文章 element模态框dialog中的select组件中选中无反应 原因 下拉框数据是循环别的接口得 ...
- tp5 select回显
<select name="role_id" id="" class="form-control" required> {vol ...
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- Java安全之反序列化回显研究
Java安全之反序列化回显研究 0x00 前言 续上文反序列化回显与内存马,继续来看看反序列化回显的方式.上篇文中其实是利用中间件中存储的Request 和Response对象来进行回显.但并不止这么 ...
- vue element select多选回显
我们经常在使用 Element组件里面的 select多选 场景:添加账号的时候需要选择可见分公司(分公司为多选),添加成功之后可以编辑,需要回显添加时所提交的分公司 代码如下: 多选框: data( ...
- element上传图片组件使用方法|图片回显|格式转换base64
upload上传组件的使用方法 上传图片后自动上传(也可以手动上传),图片上传成功后由后端返回特定图片地址,在表单提交后将表单数据同图片地址一并返回即可完成图片上传功能. 组件HTML <!-- ...
随机推荐
- JAVAEE——navicat安装
Navicat Premium 15激活步骤 准备 Navicat Premium 15.Navicat Premium 15注册机 用到的都放在这里了: 链接:https://pan.baidu.c ...
- MoNA:复用跨模态预训练模型,少样本模态的福音 | ICML'24
跨模态转移旨在利用大型预训练模型来完成可能不属于预训练数据模态的任务.现有的研究在将经典微调扩展到跨模态场景方面取得了一定的成功,但仍然缺乏对模态差距对转移的影响的理解.在这项工作中,进行了一系列关于 ...
- 忽略某个已经托管给git的文件,防止二次提交
# 执行命令将文件加入不提交队列 git update-index --assume-unchanged 你的文件路径 # 执行命令将文件取消加入不提交队列 git update-index --no ...
- 18 . 介绍一下 Promise
Promise 是js内置的构造函数,也叫做期约函数 ,它有 3 种状态 ,等待状态 pending ,成功状态 fullfilled ,失败状态 reject :2 个过程, 等待状态到成功状态 会 ...
- Windows刷机-记录UltraSO工具安装错误
安装镜像刻录U盘工具UltralSO:UltraISO - ISO CD/DVD image creator, editor, burner, converter and virtual CD/DVD ...
- 凌晨 12 点突发 istio 生产事故!一顿操作猛如虎解决了
事故起因 业务上新集群,本来以为"洒洒水",11 点切,12 点就能在家睡觉了.流量切过来后,在验证过程中,发现网页能够正常打开,在登录时返回了 502,当场懵逼.在相关的容器日志 ...
- 云原生爱好者周刊:KubeSphere 3.3.0 Alpha 版发布
开源项目推荐 Collection of Linux eBPF slides/documents 这个项目收集了各种与 eBPF 相关的资料,非常全面. magic-trace magic-trace ...
- 在 Kubernetes 中部署并使用 KubeEdge
作者:马伟,青云科技容器顾问,云原生爱好者,目前专注于云原生技术,云原生领域技术栈涉及 Kubernetes.KubeSphere.KubeKey 等. 边缘计算在广泛制造业.工业.零售和金融等行业, ...
- ROS中无法定位软件包问题
ROS 和ubuntu版本对应关系
- 在 Kubernetes 中运行 Locust 与 Selenium:安装 Chrome 和 ChromeDriver
在现代软件开发中,性能和用户体验是至关重要的,而负载测试和自动化测试可以帮助我们实现这一目标.在本文中,我们将讨论如何在 Kubernetes 环境中运行 Locust 和 Selenium,并详细介 ...