使用下拉框时记住之前所选的值
最开始是稀里糊涂搞不清楚,select与option双向绑定时,做了一个小练习,帮助自己记忆绑定时,如何显示值
运行DEMO:
<template>
<div>
<span class="color-white">{{post.province.label}}</span>
<!--<select v-model="post.province" @change="sdsd" value-key="value">
<option v-for="item in ppList" :value="item" :key="item.value" :label="item.label">{{item.label}}</option>
</select>-->
<select v-model="post.province" @change="sdsd" >
<option v-for="item in ppList" :value="item" :key="item.value" :label="item.label">{{item.label}}</option>
</select>
<span class="color-white">{{post.city.label}}</span>
<select v-model="post.city" @change="sdsd" value-key="value">
<option v-for="item in ppList2" :value="item" :key="item.value" :label="item.label">{{item.label}}</option>
</select>
</div>
</template>
<script>
export default {
props: {
},
components: {
},
name: 'index',
data () {
return {
post:{
//省份
province:{},
//市
city:{},
//区县
district:{},
adress:'',
},
regionTemp:{
value:"-1",
label:"请选择",
},
ppList:[
{
value:'1',
label:'大傻'
},
{
value:'2',
label:'二傻'
},
{
value:'3',
label:'三傻'
},
],
ppList2:[
{
value:'1',
label:'大傻'
},
{
value:'2',
label:'二傻'
},
{
value:'3',
label:'三傻'
},
]
}
},
methods:{
setZhi(){
this.post.province = this.ppList[0];
this.post.city = {
label:this.ppList2[1].label,
value:this.ppList2[1].value
}
this.setZhi2();
},
setZhi2(){
this.post.province = this.ppList[1];
this.post.city = {
label:this.ppList2[0].label,
value:this.ppList2[0].value
}
},
sdsd(){
console.log('当前值',this.post.province);
},
},
mounted (){
this.post.province = this.regionTemp;
this.setZhi();
//this.ppList.push(this.regionTemp) ;
}
}
</script>
自己遇到的问题:选择级联地址之后,跳转到下一个页面,跳转时传递对象,返回时,不能选中之前所选择的值,整了一天,终于知道自己有多笨了!
解决办法,直接传递对象,最后提交数据的时候处理就好了!
浙公网安备 33010602011771号