如果想在select上拿到下面option循环中的某一项里的数据,value需要传递整个对象,这个change事件里的参数$event传递的才是选中的对象数据;但是此时传递的v-model双向绑定的值selectedItem返回的将是一个对象
或者不用change事件,直接监听selectedItem
<el-select v-model="selectedItem" placeholder="请选择" class="marLeft20" @change="changeClass($event)">
<el-option v-for="(item) in areaList" :key="item.regionguid" :label="item.regionname"
:value="item">
</el-option>
</el-select>
<script>
data() {
return {
areaList:[
{regionguid:1,regionname:'北京市'},
{regionguid:2,regionname:'市辖区'},
{regionguid:3,regionname:'天津市'},
],
regionguid:'',
regionname:'',
selectedItem:{},
}
},
methods:{
changeClass(item){ //item就是{regionguid:1,regionname:'北京市'},
this.regionguid = item.regionguid
this.regionname= item.regionname
},
}
</script>
<script>
watch:{
selectedItem(newVal,oldVal){
this.regionname = newVal.regionname
this.regionguid = newVal.regionguid
}
},
</script>
网友评论