1. 首先關於后台的代碼,三級聯動和二級聯動沒有區別也是通過字典字段的查詢實現聯動
//三級聯動下拉框 public List<City> GetCid(int pid) { return db.City.Where(m => m.ParentId == pid).ToList(); }
2. 前台的代碼還是比較麻煩的,要寫三個方法
<tr>
<td>籍貫</td>
<td colspan="3">
省
<select v-model="formData.ProvinceId" v-on:change="getCity">
<option v-for="item in provinceItem" :value="item.CId">{{item.CName}}</option>
</select>-
市
<select v-model="formData.CityId" v-on:change="getCounty">
<option v-for="item in cityItem" :value="item.CId">{{item.CName}}</option>
</select>-
縣
<select v-model="formData.CountyId">
<option v-for="item in countyItem" :value="item.CId">{{item.CName}}</option>
</select>
</td>
</tr>
<script>
let app = new Vue({
el: "#app",
data() {
return {
formData: {
ENumber: "",
EName: "",
ESex: "",
DId: "0",
EJob: "",
EPhone: "",
EMail: "",
ProvinceId: "0",
CityId: "0",
CountyId: "0",
Birthday: "",
Remark: ""
},
provinceItem: [],//省
cityItem: [],//市
countyItem:[]//縣
}
},
methods: {
//省
getProvince() {
axios.get('/CRM/GetCid?pid=0').then(res => {
this.provinceItem = res.data;
this.provinceItem.unshift({ "CId": "0", "CName": "請選擇" })
})
},
//市
getCity() {
this.cityItem = [];
this.countyItem = [];
axios.get('/CRM/GetCid?pid=' + this.formData.ProvinceId).then(res => {
this.cityItem = res.data;
this.cityItem.unshift({ "CId": "0", "CName": "請選擇" });
this.formData.CityId = this.cityItem[0].CId;
})
},
//縣
getCounty() {
this.countyItem = [];
axios.get('/CRM/GetCid?pid=' + this.formData.CityId).then(res => {
this.countyItem = res.data;
this.countyItem.unshift({ "CId": "0", "CName": "請選擇" });
this.formData.CountyId = this.countyItem[0].CId;
})
}
},
created: function () {
this.getDept();
this.getProvince();
}
})
</script>
以上就是VUE三級聯動
