el-select获取选中的 label跟 value
前言提示:在开发业务场景中我们通常遇到一些奇怪的需求:例如:el-select业务场景需要同时获取我们选中的label跟 value。一、方案如下:1.给el-select加上ref ='myselected'代码如下(示例):<el-select v-model="value" placeholder="请选择"><el-optionref = ‘mySelected’v-fo
·
前言
提示:在开发业务场景中我们通常遇到一些奇怪的需求:
例如:el-select业务场景需要同时获取我们选中的label跟 value。
一、方案如下:
1.给el-select加上ref ='myselected'
代码如下(示例):
<el-select v-model="value" placeholder="请选择">
<el-option
ref = ‘mySelected’
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
获取的话用:this.$refs.myselect.selected.label
,选中值就是 this.$refs.myselect.selected.value
2.在value获取
代码如下(html示例):
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="`${item.value},${item.label}`"
@change="handleChange">
</el-option>
代码如下(js示例):
这种方法属于取巧方案其中value, label就是我们所需的值了,一般放在表单提交时获取转换获取值 。
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
handleChange(val){
let [value, label] = val.split(",");
},
3.在change添加监听循环获取
代码如下(html示例):
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
@change="handleChange">
</el-option>
代码如下(js示例):
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
handleChange(val){
let checkLabel = this.options.find( item => item.value ==val).label
},
这种方法比较笨拙但也是最直接的方案。
更多推荐
已为社区贡献14条内容
所有评论(0)