前情


公司有经常需要做一些后台管理页面,我们选择了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的,在如下二种情况下它会回显异常:

  1. 配置没有,它会直接显示你v-model绑定的值,表面看就是el-select的配置项的value值,此时你补全配置即可
  2. 当你配置的项的value和你v-model绑定的值类型不一致的时候,它也会直接显示v-model绑定的值,此时确认服务端最后要提交的值是什么类型的,修正类型即可

Element Plus组件el-select回显异常的更多相关文章

  1. Element upload组件上传图片与回显图片

    场景:新增商品时需要添加商品主图,新增成功之后可编辑 上传图片: <el-form-item label="专区logo:" style="height:160px ...

  2. Element Select 回显

    有思考有痛点的朋友可以聊聊(要求:认真看过Element相关文档,对该场景自己有过多角度的探索) 下拉框回显的关键点:要回显的值包含于下拉列表的数组中 demo图 最近遇到一个需求抽象下:循环中下拉框 ...

  3. table组件选中数据回显

    table组件多选状态下,把已选择的数据回显,需要在多选列上加上一个属性 :reserve-selection="true" 实例如下: <el-table :data=&q ...

  4. 解决element 照片墙上传时回显问题

    1.先看看样式: <el-upload class="imgList" action="1165165" list-type="picture- ...

  5. vue element-UI 多个 select 回显成功,但是选中无反应

    参考文章 vue开发(四)element的select下拉框设定初值后,不能重新选择的问题 参考文章 element模态框dialog中的select组件中选中无反应 原因 下拉框数据是循环别的接口得 ...

  6. tp5 select回显

    <select name="role_id" id="" class="form-control" required> {vol ...

  7. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  8. Java安全之反序列化回显研究

    Java安全之反序列化回显研究 0x00 前言 续上文反序列化回显与内存马,继续来看看反序列化回显的方式.上篇文中其实是利用中间件中存储的Request 和Response对象来进行回显.但并不止这么 ...

  9. vue element select多选回显

    我们经常在使用 Element组件里面的 select多选 场景:添加账号的时候需要选择可见分公司(分公司为多选),添加成功之后可以编辑,需要回显添加时所提交的分公司 代码如下: 多选框: data( ...

  10. element上传图片组件使用方法|图片回显|格式转换base64

    upload上传组件的使用方法 上传图片后自动上传(也可以手动上传),图片上传成功后由后端返回特定图片地址,在表单提交后将表单数据同图片地址一并返回即可完成图片上传功能. 组件HTML <!-- ...

随机推荐

  1. ASP.NET Core – Swagger API Versioning

    前言 Versioning 会导致 Swagger 直接坏掉. 因为 1 个文档无法支持多个版本. 所以需要每一个版本做一个文档. 主要参考 Integrating ASP.NET Core Api ...

  2. 十七,Spring Boot 整合 MyBatis 的详细步骤(两种方式)

    十七,Spring Boot 整合 MyBatis 的详细步骤(两种方式) @ 目录 十七,Spring Boot 整合 MyBatis 的详细步骤(两种方式) 1. Spring Boot 配置 M ...

  3. 多线程ExecutorService 的理解与使用

    原文链接:https://www.cnblogs.com/gxz-sw/p/6754476.html 接口 Java.util.concurrent.ExecutorService 表述了异步执行的机 ...

  4. [OI] 平衡树

    1. 二叉查找树 二叉查找树的思想和优先队列比较像,都是把若干个数据按一定规则插到一棵树里,然后就可以维护特定的信息. 在优先队列的大根堆实现里,我们让每棵子树的根节点都大于它的儿子,这样就可以保证根 ...

  5. 剪枝的应用,bfs判重 蚱蜢跳——蓝桥p642

    **问题描述 总共有九个盘子,八只蚱蜢,且每个盘子中只能容下一只蚱蜢,蚱蜢的编号为1~8,如果蚱蜢所在的盘子紧邻着空盘子,那么该蚱蜢可以从自己的盘子跳到空盘子中,也可以隔一个盘子跳到空盘子中,问一开始 ...

  6. 【VMware VCF】使用 SoS 实用程序检查 VCF 环境的运行状态以及收集组件的日志信息。

    VMware Cloud Foundation 解决方案中有一个叫 Supportability and Serviceability(SoS)可支持性和可维护性的实用程序,可能你在初始构建 VCF ...

  7. element的图片上传预处理函数

    /** 图片格式和大小的控制 */ beforeAvatarUpload (file) { // 允许上传 jpg 和 png 格式的图片 const isJPG = file.type === &q ...

  8. 图片的穿透效果 -- pointer-events: none

    使用场景:当我们需要选择上传文件的时候,图片把input输入框覆盖在上面,点击的时候不能出发input输入框所以要给图片设置穿透属性 : 具体代码: #image { position: fixed; ...

  9. Android复习(三)清单文件中的元素

    <action> 向 Intent 过滤器添加操作. <activity> 声明 Activity 组件. <activity-alias> 声明 Activity ...

  10. vue打包后,添加入spring boot下,访问不到字体的BUG

    主要报错:OTS parsing error: incorrect file size in WOFF header OTS parsing error: incorrect entrySelecto ...