el-select下拉框远程搜索且多选时,编辑需要回显的一个简单案例

前端业务开发中不管使用vue2~3,还是react,angular各种前端技术栈,经常会遇到这种业务。一个下拉框Select中,不仅需要需要支持远程模糊搜索,还需要支持多选。并且在编辑时,还能正常把已经多选好的内容回显到Select中。

用Vue3+ElementPlus+TS举一个简单的案例。其他技术栈思路是一致的
新增时的逻辑

这一步和普通操作没有什么区别

<template><el-selectv-model="selectValue"multiplefilterableremotereserve-keywordplaceholder="请搜索并选择内容":remote-method="remoteMethod"style="width: 240px"><el-optionv-for="item in options":key="item.value":label="`${item.value}-${item.label}`":value="item.value"/></el-select>
</template>
<script lang="ts" setup>
let selectValue = ref([]);
let options = ref<{value: string;label: string;}[]
>([]);
const remoteMethod = (value: string) => {// 模拟远程接口查询// 一般远程模糊搜索的接口都带分页,如果数据为10万条,模糊搜索时肯定一次不能查10万条,还是需要正产分页的setTimeout(() => {options.value = [{value: "1",label: "张三",},{value: "2",label: "李四",},{value: "3",label: "王五",},];}, 200);
};</script>

多选OK的效果

在这里插入图片描述

编辑需要回显时的逻辑(关键点)

当这个下拉框在编辑页时,需要把同样已经多选的内容完整回显到这个下拉框中,因为数据本身就是多选,接口还是是分页的,回显时肯定不能使用接口查询功能来回显数据。因此,el-select的:value绑定就不应该只绑定value了。

<template><el-selectv-model="selectValue"multiplefilterableremotereserve-keywordplaceholder="请搜索并选择内容":remote-method="remoteMethod"style="width: 240px"><!--value直接也把label绑定上--><el-optionv-for="item in options":key="item.value":label="`${item.value}-${item.label}`" :value="`${item.value}-${item.label}`"/></el-select>
</template>
<script lang="ts" setup>
let selectValue = ref([]);
let options = ref<{value: string;label: string;}[]
>([]);
const remoteMethod = (value: string) => {};
onMounted(() => {// 模拟编辑页初始化的时候接口初始化赋值逻辑// 编辑页面查询到多选的详情信息dataconst data = [  {  value: "1",  label: "张三",  },  {  value: "2",  label: "李四",  }, ];  selectValue.value = data.map(item => `${item.value}-${item.label}`); //['1-张三', '2-李四'];
});
</script>

这时候selectValue的绑定时就不仅仅是value了,而是这样的格式。这样就不需要通过后端接口来实现多选内容的数据回显了。

['1-张三', '2-李四']
编辑操作时剔除label内容

当前selectValue的绑定值已经是“[‘1-张三’, ‘2-李四’]”这样了,编辑操作确定提交数据时剔除-label就行。

const originalArray = ['1-张三', '2-李四'];  const numericArray = originalArray.map(item => {  // 使用split('-')分割字符串,并取第一个元素(即数字部分)  const numberPart = item.split('-')[0];  // 将字符串转换为数字  return parseInt(numberPart, 10);  
});  console.log(numericArray); // 输出: [1, 2]。编辑确定操作时,入参给接口就行。

如果业务需求的label展示值不是

:label="`${item.value}-${item.label}`"

这种形式,而是只展示名称label,不需要对应value

:label="`${item.label}`"

这样的形式,有空我在把另一种思路加上。未完待续…

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

视频改字祝福 豪车装X系统源码uniapp前端源码

uniapp视频改字祝福 豪车装X系统源码 全开源,只有uniapp前端,API接口需要寻找对应的。 创意无限!AI视频改字祝福,豪车装X系统源码开源,打造个性化祝福视频不再难! 想要为你的朋友或家人送上一份特别的祝福,让他们感受到你的真诚与关怀吗?现在, 通过开源的AI视频改字…

如何进行制造设备数据汇集,发挥数据的价值?

数字化转型正深刻推动制造企业实现远程监控、提高生产效率、降低生产成本、优化产品质量及明晰精细化方向。并且工业互联网的发展离不开工业数据的应用&#xff0c;而制造设备数据汇集正是应用的基础。但制造设备数据汇集存在以下难点及痛点&#xff1a; 1、安全把控难 关键的…

如何创建默认的docker0网桥

背景 重启docker服务之后&#xff0c;发现并没有创建默认的docker0网桥&#xff0c;所以导致端口无法映射&#xff0c;容器内IP为127.0.0.1。重启服务后&#xff0c;仍然没有docker0网桥的出现。 分析 docker0网桥是docker默认创建的虚拟网桥。但是有时候会发现&#xff0c;d…

56-FMC连接器电路设计

视频链接 FMC连接器电路设计01_哔哩哔哩_bilibili FMC连接器电路设计 1、FMC简介 1.1、FMC介绍 FMC&#xff08;FPGA Mezzanine Card&#xff09;是一个应用范围、适应环境范围和市场领域范围都很广的通用模块。FMC连接器连接了由FPGA提供的引脚和FMC子板的I/O接口。最新的…

机械校准件

机械校准件 校准 精度高 重复性好 涵盖多种同轴、波导校准件 校准件是矢量网络分析仪的测试附件&#xff0c;可大幅提高矢量网络分析仪的测试精度。 国产思仪机械校准件包含N型、3.5MM、2.92MM、2.4MNM、1.85MM全频段校准件以及特殊要求的校准件&#xff0c;可满足矢量…

python爬虫 - 爬取html中的script数据(zum.com新闻信息 )

文章目录 1. 分析页面内容数据格式2. 使用re.findall方法&#xff0c;编写爬虫代码3. 使用re.search 方法&#xff0c;编写爬虫代码 1. 分析页面内容数据格式 &#xff08;1&#xff09;打开 https://zum.com/ &#xff08;2&#xff09;按F12&#xff08;或 在网页上右键 --…

【工具】录屏软件Captura安装使用及ffmpeg下载配置

开启技术视频创作&#xff0c;录屏软件林林总总&#xff0c;适合的、习惯的最好。 录屏软件Captura的使用及ffmpeg下载配置 1.Captura下载、安装2.FFmpeg下载、配置3.Captura屏幕录制试用、录制视频效果 1.Captura下载、安装 Captura主要是一个免费开源的录屏软件&#xff0c…

西电超算使用方法-简易版

一、引言 西电超算不错&#xff0c;我很喜欢。本文仅供自己学习使用。 二、环境搭建 搭建环境需要有一些依赖库&#xff0c;但是其实西电超算说明手册并没有写的非常清楚。因此&#xff0c;这次实战演示一下&#xff0c;写一个运行sh文件脚本并提交作业。 1、选择GPU还是CP…

kontron触摸屏维修控创工控机TN1015-OC-19DCA11-XXX

德国Kontron控创工控机维修维修包括&#xff1a;Kontron人机界面、Kontron显示终端、Kontron工业控制计算机、Kontron处理器板、Kontron低功耗处理器、Kontron强固处理器板、Kontron图形板卡、Kontron核处理器板、Kontron工控机电源、Kontron主机故障等 kontron工控机维修常见…

【C语言刷题系列】交换整数的奇数位和偶数位

目录 一、问题描述 二、解决思路 三、函数实现 四、宏实现 五、总结 个人主页&#xff1a; 倔强的石头的博客 系列专栏 &#xff1a;C语言指南 C语言刷题系列 一、问题描述 使用C语言代码实现&#xff1a;将一个整数的奇数位和偶数位交换 二、解决思路 在C语…

世媒讯提供海内外媒体宣发服务,引领企业新媒体发展之路

在这个信息化的时代&#xff0c;软文发稿已经成为企业发展不可或缺的重要工具。随着社会的快速发展&#xff0c;消费者需要更多定制化、个性化的信息。利用软性推广&#xff0c;凭借其细致入微的信息传递&#xff0c;可以迅速抓住消费者的注意力&#xff0c;从而进一步推动企业…

为什么要写技术方案?

技术方案是为研究解决各类技术问题&#xff0c;有针对性&#xff0c;系统性的提出的方法、应对措施及相关对策。技术方案设计是一个技术开发者必备的能力&#xff0c;特别是对于高级、资深、架构师等角色。技术方案设计不仅能够帮助我们明确需求&#xff0c;规划架构&#xff0…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(一)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 1 - 2节&#xff09; P1《课程介绍》 开场白&#xff0c;HarmonyOS 的一个简介&#xff0c;话不多说&#xff0c;直接看图吧&…

虚假新闻检测——Adapting Fake News Detection to the Era of Large Language Models

论文地址&#xff1a;https://arxiv.org/abs/2311.04917 1.概论 尽管大量的研究致力于虚假新闻检测&#xff0c;这些研究普遍存在两大局限性&#xff1a;其一&#xff0c;它们往往默认所有新闻文本均出自人类之手&#xff0c;忽略了机器深度改写乃至生成的真实新闻日益增长的现…

Java编程题 | 张三等待乘坐电梯的时间计算

大家可以关注一下专栏&#xff0c;方便大家需要的时候直接查找&#xff0c;专栏将持续更新~ 题目描述 张三在学校教学楼的电梯前排了很多人&#xff0c;他的前面有n个人在等电梯。电梯每次可以乘坐12人&#xff0c;每次上下需要的时间为4分钟&#xff08;上需要2分钟&am…

【第18章】spring-resource

文章目录 前言一、Resource1.测试类2.测试结果 二、ResourceLoader1.测试类2.测试结果 三、ResourceLoaderAware1.实现类2.配置文件3.测试类4.测试结果5.结论 总结 前言 在Spring框架中&#xff0c;Resource是一个关键组件&#xff0c;它位于org.springframework.core.io包中&…

【深度学习】DDoS-Detection-Challenge aitrans2024 入侵检测,基于机器学习(深度学习)判断网络入侵

当了次教练&#xff0c;做了个比赛的Stage1&#xff0c;https://github.com/AItransCompetition/DDoS-Detection-Challenge&#xff0c;得了100分。 一些记录&#xff1a; 1、提交的flowid不能重复&#xff0c;提交的是非入侵的数量和数据flowid,看check.cpp可知。 2、Stage…

NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解,配21张彩图)

NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解&#xff0c;配21张彩图) 1. 简介 本应用笔记描述了与S32G处理器和VR5510 PMIC相关的安全概念。该文档涵盖了S32G和VR5510的安全功能以及它们如何相互作用&#xff0c;以确保对ASIL D安全完整性级别…

Docker基本管理和虚拟化

一、docker的发展历史 https://www.cnblogs.com/rongba/articles/14782624.htmlhttps://www.cnblogs.com/rongba/articles/14782624.html 二、docker的概述 Docker是一个开源的应用容器引擎&#xff0c;基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行…

CSS的网页美化功能

<1>文字类 通常情况下&#xff0c;一般使用span对文字进行重点突出&#xff0c;用div来操作一段代码块。 字体的所有属性&#xff1a; 属性描述font在一个声明中设置所有的字体属性font-family指定文本的字体系列font-size指定文本的字体大小font-style指定文本的字体样…