elementUi的下拉框如何取得的el-select值和标签
Admin 2023-04-06 群英技术资讯 998 次浏览
如下图的下拉选项框,点击查看需要同时获取到选中选项的label值以及value值
以下是vue的渲染,在此不做过多介绍
<template> <div class="root"> <el-select ref="optionRef" v-model="value" placeholder="请选择" style="width: 250px" > <el-option v-for="item in options" :key="item.id" :label="item.label" :value="item.value" > </el-option> </el-select> <el-button style="margin-left: 20px" @click="showoptions" type="primary" >查看</el-button > </div> </template>
el-select绑定一个value值,el-option需要一个数组,以下是模拟数据
data() { return { value: "", options: [ { id: 0, label: "苹果", value: "apple" }, { id: 1, label: "香蕉", value: "banana" }, { id: 2, label: "橙子", value: "orange" }, ], }; },
在进行el-select渲染时,给el-select添加一个ref,用于获取值
然后就可以在点击事件或者提交表单时获取到选中的值了
methods: { showoptions() { console.log( this.$refs.optionRef.selected.value, this.$refs.optionRef.selected.label ); }, },
想要回显的话直接给定el-select绑定的value为某个值即可,如想要回显苹果,就赋值为apple
该方法完整代码如下:
<template> <div class="root"> <el-select ref="optionRef" v-model="value" placeholder="请选择" style="width: 250px" > <el-option v-for="item in options" :key="item.id" :label="item.label" :value="item.value" > </el-option> </el-select> <el-button style="margin-left: 20px" @click="showoptions" type="primary" >查看</el-button > </div> </template> <script> export default { data() { return { value: "", options: [ { id: 0, label: "苹果", value: "apple" }, { id: 1, label: "香蕉", value: "banana" }, { id: 2, label: "橙子", value: "orange" }, ], }; }, methods: { showoptions() { console.log( this.$refs.optionRef.selected.value, this.$refs.optionRef.selected.label ); }, }, }; </script>
这个方法相对于第一种方法而已,优点在于不止于同时获取label和value,可以获取多个,如再加一个id值什么的,这里演示还是以获取label和value为例,如想要获取其他,按照如下方式即可
我们在el-option渲染时,所设置的value属性值可以设置成label+value的形式,如下图
那么我们获取值时,直接获取el-select绑定的value即可,
获取后的值形式如下图,那么+号前面的就是想要的value值,后面的就是label值了,对返回的数据用split('+')进行切割,返回的数组索引0就是value值,数组索引1就是label值
这种方法在回显的时候稍微有点麻烦,因为要把回显的值也弄成value+label的形式渲染到el-select所绑定的value上,比如要回显香蕉,就将value设置为’banana+香蕉‘
以下是第二种方法的完整代码
<template> <div class="root"> <el-select ref="optionRef" v-model="value" placeholder="请选择" style="width: 250px" > <el-option v-for="item in options" :key="item.id" :label="item.label" :value="item.value + '+' + item.label" > </el-option> </el-select> <el-button style="margin-left: 20px" @click="showoptions" type="primary" >查看</el-button > </div> </template> <script> export default { data() { return { value: "banana+香蕉", options: [ { id: 0, label: "苹果", value: "apple" }, { id: 1, label: "香蕉", value: "banana" }, { id: 2, label: "橙子", value: "orange" }, ], }; }, methods: { showoptions() { console.log(this.value); console.log("value=====", this.value.split("+")[0]); console.log("label=====", this.value.split("+")[1]); }, }, }; </script>
这种方法就不太友好,就是通过el-select绑定的value对el-option数组进行遍历查找
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
对于验证码详细大家都不陌生,我们在登录或者注册页面,常能看到验证码。而我们在做验证码的时候要考虑到,获取验证码的时间间隔,因为如果不设置这个,那么就会出现短时间或者大量验证码的情况,对此这篇文章就给大家介绍用JS实现间隔10秒载获取验证码的功能,感兴趣的朋友就继续往下看吧
目录data里面的数据相互使用具体代码如下data里的数据不能相互引用问题data里面的数据相互使用今天在写代码的时候,遇到一个问题,我想使用data里面的一个对象使用data里面的某个数据,附图片:我想让active的值给params对象里面的topicListType使用,我不想直接在一个方法里面改变这个值(想改的
这篇文章主要介绍了uni-app 的模板语法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要介绍JS中的new,new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。下面我们一起来看看我呢很脏具体内容的详细介绍,需要的朋友可以参考一下
这篇文章主要为大家介绍了Web componentd组件内部事件回调示例及其痛点的剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008