vue填坑之el-select同时获取label和value值
在做项目的时候出现,要把value值传到后台,但是前端组件(比如表格)要显示label值的情况,但是v-model只能取到value的值,所以在思考要怎么把label值也一起取上,下面是解决方法:Vue:<el-selectv-model="addMessageForm.messageSource"clearable><el-option
·
在做项目的时候出现,要把value值传到后台,但是前端组件(比如表格)要显示label值的情况,但是v-model只能取到value的值,所以在思考要怎么把label值也一起取上,下面是解决方法:
Vue:
<el-select
v-model="addMessageForm.messageSource"
clearable
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="`${item.name}|${item.id}`"
>
</el-option>
</el-select>
<script>
data(){
return{
options:[], //el-select的选项,这边我是调了接口,传值进去的
addMessageForm:{
messageSource: "", //el-option中的value
messageSourceId: "", //要取到的value值
messageSourceName: "", //要取到的label值
}
}
},
methods{
getLabelValue(){
//重点!
if(this.messageSource){ //判断是否有值
[this.addMessageForm.messageSourceName,this.addMessageForm.messageSourceId] =this.addMessageForm.messageSource.split("|")
}
}
}
</script>
我们要取到的是label——item.name和value——item.id,因为v-model只能取到value,所以我们一开始,就把label和value的值都放进value中,用“|”隔开,之后在JavaScript中,用split把合在一起的值分开,就能分别得到label和value的值了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)