element中el-select多选v-model是对象数组

news2024/10/5 17:30:44

文章目录

  • 一、问题
  • 二、解决
  • 三、最后

一、问题

element中的el-selectv-model一般都是字符串或者字符串数组,但是有些时候后端接口要求该字段要传对象或者对象数组,如果再转换一次数据,对于保存配置和回显都是吃力不讨好的事情。如下所示:

<template>
    <el-select
       multiple
       clearable
       filterable
       v-model="select"
    >
      <el-option
        v-for="item in options"
        :key="item.nodeId"
        :label="item.nodeName"
        :value="item.nodeId"
      />
    </el-select>
</template>
<script>
export default {
    data() {
        return {
            select: [],
            options: [
                {
                    "nodeId": "node_135061771075",
                    "nodeName": "审批人1"
                },
                {
                    "nodeId": "node_404274216403",
                    "nodeName": "审批人2"
                }
            ]
        }
    }
}
</script>

选中后的数据select为:

['node_135061771075', 'node_404274216403']

但是想实现的是select值为:

[
    {
        "nodeId": "node_135061771075",
        "nodeName": "审批人1"
    },
    {
        "nodeId": "node_404274216403",
        "nodeName": "审批人2"
    }
]

这时,如果把el-optionvalue改成item

<el-option
    v-for="item in options"
    :key="item.nodeId"
    :label="item.nodeName"
    :value="item"
/>

结果发现竟然会报错:

<transition-group> children must be keyed: <ElTag>

二、解决

指定el-selectvalue-key属性。官网的说法:如果 Select 的绑定值为对象类型,请务必指定 value-key 作为它的唯一性标识。点击【跳转】访问官网

<template>
    <el-select
       multiple
       clearable
       filterable
   	   value-key="nodeId"
       v-model="select"
    >
      <el-option
        v-for="item in options"
        :key="item.nodeId"
        :label="item.nodeName"
        :value="item"
      />
    </el-select>
</template>
<script>
export default {
    data() {
        return {
            select: [],
            options: [
                {
                    "nodeId": "node_135061771075",
                    "nodeName": "审批人1"
                },
                {
                    "nodeId": "node_404274216403",
                    "nodeName": "审批人2"
                }
            ]
        }
    }
}
</script>

el-select设置好value-key后,页面不会报错,而且数据也是返回如下正确格式:

[
    {
        "nodeId": "node_135061771075",
        "nodeName": "审批人1"
    },
    {
        "nodeId": "node_404274216403",
        "nodeName": "审批人2"
    }
]

三、最后

本人每篇文章都是一字一句码出来,希望大佬们多提提意见。顺手来个三连击,点赞👍收藏💖关注✨。打气,加油☕

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

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

相关文章

Linux--学习记录(2)

解压命令&#xff1a; gzip命令&#xff1a; 参数&#xff1a; -k&#xff1a;待压缩的文件会保留下来&#xff0c;生成一个新的压缩文件-d&#xff1a;解压压缩文件语法&#xff1a; gzip -k pathname(待压缩的文件夹名)gzip -kd name.gz&#xff08;待解压的压缩包名&#x…

数据库版本管理框架-Flyway(从入门到精通)

一、flyway简介 Flyway是一个简单开源数据库版本控制器&#xff08;约定大于配置&#xff09;&#xff0c;主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL&#xff08;PL/SQL、T-SQL&#xff09;方式和Java方式&#xff0c;支持命令行客户端等&am…

SpringIOC之@Configuration

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

手机的隐私空间的相关知识

一、删除: 进入隐私空间: 打开手机的设置,找到隐私空间(或类似名称)选项,然后输入密码或验证方式进入隐私空间。浏览内容: 在隐私空间中,您可以浏览存储在其中的照片、视频、文件等内容。选择删除: 选择您想要删除的内容,通常可以通过长按或选中复选框的方式进行多选…

孩子都能学会的FPGA:第二十六课——用FPGA实现CIC抽取滤波器

&#xff08;原创声明&#xff1a;该文是作者的原创&#xff0c;面向对象是FPGA入门者&#xff0c;后续会有进阶的高级教程。宗旨是让每个想做FPGA的人轻松入门&#xff0c;作者不光让大家知其然&#xff0c;还要让大家知其所以然&#xff01;每个工程作者都搭建了全自动化的仿…

第二次上机测试:Javascript. (第一组)

需求&#xff1a;&#xff08;注意在规定的时间&#xff0c;在自己的博客提交作品&#xff0c;便于统计测试的完成情况。博客题目《第二次上机测试&#xff1a;Javascript.》&#xff09; 1、点击按钮&#xff0c;将图片加上边框 2、点击按钮&#xff0c;将图片缩小为长和宽都…

windows安装protoc、protoc-gen-go、protoc-gen-go-grpc

文章目录 一、 protoc二、protoc-gen-go三、protoc-gen-go-grpc 一、 protoc 1&#xff0c;下载&#xff1a;https://github.com/google/protobuf/releases 下载对应的protoc&#xff0c;注意选择windows 2&#xff0c;下好之后解压就行&#xff0c;然后把bin目录加入到环境…

无损放大神器,Topaz Gigapixel AI,让你的图像更清晰!

无论是摄影爱好者、设计师还是专业摄影师&#xff0c;我们都希望能够拍摄到最清晰、最细腻的图像。然而&#xff0c;在现实生活中&#xff0c;我们往往会面临图像放大后模糊失真的问题。为了解决这一难题&#xff0c;我们推荐一款强大的图像无损放大工具——Topaz Gigapixel AI…

2020年第九届数学建模国际赛小美赛B题血氧饱和度的变异性解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 B题 血氧饱和度的变异性 原题再现&#xff1a; 脉搏血氧饱和度是监测患者血氧饱和度的常规方法。在连续监测期间&#xff0c;我们希望能够使用模型描述血氧饱和度的模式。   我们有36名受试者的数据&#xff0c;每个受试者以1 Hz的频率连…

对python自动生成接口测试的示例讲解

在python中Template可以将字符串的格式固定下来&#xff0c;重复利用。 同一套测试框架为了可以复用&#xff0c;所以我们可以将用例部分做参数化&#xff0c;然后运用到各个项目中。 代码如下&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2…

GPT-4 变懒了?官方回复

你是否注意到&#xff0c;最近使用 ChatGPT 的时候&#xff0c;当你向它提出一些问题&#xff0c;却得到的回应似乎变得简短而敷衍了&#xff1f;对于这一现象&#xff0c;ChatGPT 官方给出了回应。 译文&#xff1a;我们听到了你们所有关于 GPT4 变得更懒的反馈&#xff01;我…

记录 | vscode设置自动换行

右上菜单栏 -> 查看 -> 打开自动换行 或者还有种方式&#xff0c;如下&#xff0c; 左下角小齿轮&#xff0c;点击设置 然后输入 Editor: Word Wrap &#xff0c;把开关打开为 on

web前端开发html/css练习

目标图&#xff1a; 素材&#xff1a; 代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"…

【ET8】2.ET8入门-ET框架解析

菜单栏相关&#xff1a;ENABLE_DLL选项 ET->ChangeDefine->ADD_ENABLE_DLL/REMOVE_ENABLE_DLL 一般在开发阶段使用Editor时需要关闭ENABLE_DLL选项。该选项关闭时&#xff0c;修改脚本之后&#xff0c;会直接重新编译所有的代码&#xff0c;Editor在运行时会直接使用最…

【Vue3+Ts项目】硅谷甄选 — 路由配置+登录模块+layout组件+路由鉴权

一、路由配置 项目一共需要4个一级路由&#xff1a;登录&#xff08;login&#xff09;、主页&#xff08;home&#xff09;、404、任意路由&#xff08;重定向到404&#xff09;。 1.1 安装路由插件 pnpm install vue-router 1.2 创建路由组件 在src目录下新建views文件…

STM32F1之CAN介绍

目录 ​编辑 1. CAN 是什么&#xff1f; 2. 总线拓扑图 3. CAN 的特点 4. CAN 协议的基本概念 1. CAN 是什么&#xff1f; CAN 是 Controller Area Network 的缩写&#xff08;以下称为 CAN&#xff09;&#xff0c;是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产…

FPGA时序分析与约束(0)——目录与传送门

一、简介 关于时序分析和约束的学习似乎是学习FPGA的一道分水岭&#xff0c;似乎只有理解了时序约束才能算是真正入门了FPGA&#xff0c;对于FPGA从业者或者未来想要从事FPGA开发的工程师来说&#xff0c;时序约束可以说是一道躲不过去的坎&#xff0c;所以这个系列我们会详细介…

vertica主键列能插入重复值的处理办法

问题描述 开发同事反馈在vertica中创建含主键列的表中插入重复数据时没有进行校验&#xff0c;插入重复值成功。经过测试着实可以插入重复值&#xff0c;这个坑有些不一样。 创建表和插入语句如下&#xff1a; --创建表 CREATE TABLE dhhtest(ID VARCHAR(64) PRIMARY KEY );…

2024年度AI投资策略报告:AI三要素共振,AIGC云到端加速推进

今天分享的AI系列深度研究报告&#xff1a;《2024年度AI投资策略报告&#xff1a;AI三要素共振&#xff0c;AIGC云到端加速推进》。 &#xff08;报告出品方&#xff1a;中国银河证券研究院&#xff09; 报告共计&#xff1a;103页 核心观点:行业热度将持续&#xff0c;积极把…

Git版本控制---入门学习

1.简介 是一个免费的开源分布式版本控制系统工具&#xff0c;旨在快速高效地处理从小型到大型的所有项目。 它是由 Linus Torvalds 在2005年创建的&#xff0c;用于开发 Linux 内核。 Git具有大多数团队和开发人员所需的功能、性能、安全性和灵活性。 它还用作重要的分布式版本…