当前位置: 首页 > news >正文

案例说明:vue中Element UI下拉列表el-option中的key、value、label含义各是什么

可以简单理解为:label 是给用户展示的东西,value是前端往后端传递的真实值

<template><div><el-page-header @back="goBack" content="注册"></el-page-header><el-divider></el-divider><el-row><el-col :span="12" :offset="6"><el-form ref="form" :model="userInfo" label-width="80px"><el-form-item label="用户名"><el-input v-model="userInfo.username"></el-input></el-form-item><el-form-item label="密码"><el-input v-model="userInfo.password" type="password"></el-input></el-form-item><el-form-item label="确认密码"><el-inputv-model="userInfo.conformPassword"type="password"></el-input></el-form-item><el-form-item label="年龄"><el-input-numberv-model="userInfo.age":min="10":max="100"></el-input-number></el-form-item><el-form-item label="城市"><!-- <el-input v-model="userInfo.city"></el-input> --><el-select v-model="userInfo.city" placeholder="请选择"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select></el-form-item><el-form-item label="性别"><el-radio v-model="userInfo.gender" :label="0">保密</el-radio><el-radio v-model="userInfo.gender" :label="1"></el-radio><el-radio v-model="userInfo.gender" :label="2"></el-radio></el-form-item><el-form-item><el-button type="primary" @click="onSubmit">注册</el-button><br /><router-link to="/login">登录</router-link></el-form-item></el-form></el-col></el-row></div>
</template><script>
import { registerService } from '../../services/user'export default {data() {return {options: [{value: '选项1',label: '北京'}, {value: '选项2',label: '上海'}, {value: '选项3',label: '广州'}, {value: '选项4',label: '西安'}, {value: '选项5',label: '天津'}],userInfo: {username: '',password: '',conformPassword: '',age: 20,city: '',gender: 0}}},methods: {goBack() {this.$router.push('/').catch(err => { err })},async onSubmit() {// 校验信息const { username, password, conformPassword } = this.userInfoif (!username || !password) {this.$message.error('请输入用户名和密码')return}if (password !== conformPassword) {this.$message.error('两次密码不一致')return}delete this.userInfo.conformPassword// 注册新用户await registerService(this.userInfo)this.goBack()}}
}
</script>
<style scoped>
a {text-decoration: none;
}
</style>

前端展示:
在这里插入图片描述
而我们注册用户信息之后,选择了第四个选项‘西安’,此时数据库中新增的zhangsan信息中,city显示的是‘选项四’,而不是西安。
在这里插入图片描述
在这里插入图片描述

这是因为:我们在前端代码中将value值写做‘选项X’,
此时我们将前端代码中options中做修改:

export default {data() {return {options: [{value: '北京',label: '北京'}, {value: '上海',label: '上海'}, {value: '广州',label: '广州'}, {value: '西安',label: '西安'}, {value: '天津',label: '天津'}],userInfo: {username: '',password: '',conformPassword: '',age: 20,city: '',gender: 0}}},

重新注册wangwu的信息,并选择第四项‘西安’,此时数据库中新增user信息:wangwu的city为‘西安’
在这里插入图片描述
在这里插入图片描述

总结:

label 这是给用户看的,当点击下拉菜单时,会出来选项,用户看到的选项就是label展示的内容
value 这是你点击某个label(option)之后,将对应的值给v-model绑定的值model
key 相当于身份令牌,唯一的,官网推荐还是加上,所以大家记得一定要加key值哦~

http://www.lryc.cn/news/67410.html

相关文章:

  • idea创建javaweb项目步骤超详细(2022最新版本)
  • 「SAP ABAP」OPEN SQL(六)【DELETE语句 | MODIFY语句】
  • SpringCloud --- Feign远程调用
  • 基于单片机的数字频率计设计
  • 我看看哪个靓仔还没把Github Copilot用起来?
  • C++系列一: C++简介
  • 信通初试第一:无科研无竞赛一战上岸上海交大819学硕感悟
  • Spring —— Spring Boot 配置文件
  • Python 网络爬虫与数据采集(一)
  • 2023年6月DAMA-CDGP数据治理专家认证请尽快报名啦!
  • STM32+esp8266,让你的STM32开发板连接网络-----esp8266
  • 分布式缓存的基础知识
  • Vue3通透教程【七】生命周期函数
  • 《“裸奔”时代的网络防护:如何保护你的隐私和数据安全》
  • mapreduce优化方法
  • 06-nexus搭建Docker私仓
  • 【RS专题】eval层混淆和逻辑完整分析 - 扣代码终结篇
  • 基于matlab使用主动声纳系统进行水下目标检测
  • [socket]hpsocket-pull模式
  • 数据分析师 ---- SQL强化(3)
  • 微信小程序商品分类页最佳实践
  • 正则化解决过拟合
  • 在 Windows 上安装 Helm包
  • Clion开发STM32之OTA升级模块(一)
  • Java供应链安全检测SDL方法论
  • Magic-API的部署
  • 程序进制换算
  • Packet Tracer - 使用 CLI 配置并验证站点间 IPsec VPN
  • 【华为OD机试真题】最小的调整次数(python版)100%通过率 超详细代码注释 代码解读
  • WPF中嵌入web网页控件 WebBrowser