城市三級聯(lián)動

vue組件city,城市三級聯(lián)動,兩個接口,一個獲取省接口,一個獲取市區(qū)接口

父組件:

? ??<city @addlist="getCity" :addList="addList" class="mb20"></city>?


????引入子組件

????import city from 'xxxxxx';

????components : {city}

????getCity(data) {

? ? ? ? ? ? ? ? //從子組件中獲取數(shù)據(jù)

? ? ? ? ? ? ? ? this.addList.province = data.province;

? ? ? ? ? ? ? ? this.addList.city = data.city;

? ? ? ? ? ? ? ? this.addList.area = data.area;

? ? ? ? ? ? },

子組件:

????????<el-select v-model="addList.province" value-key="sysAreaCode" @change="getProvince($event)" placeholder="省">

? ? ? ? ? ? ????<el-option v-for="item in provinceList" :key="item.sysAreaCode" :label="item.sysAreaName" :value="item"></el-option>

? ? ? ? </el-select>

????????<el-select v-model="addList.city"? value-key="sysAreaCode" @change="getProvince($event)" placeholder="市">

? ? ? ? ? ????? <el-option v-for="item in cityList" :key="item.sysAreaCode" :label="item.sysAreaName" :value="item"></el-option>

? ? ? ? ????</el-select>

????????<el-select v-model="addList.area"? value-key="sysAreaCode" @change="getProvince($event)" placeholder="區(qū)">

? ? ? ? ? ? ????<el-option v-for="item in areaList" :key="item.sysAreaCode" :label="item.sysAreaName" :value="item"></el-option>

? ? ? ? ????</el-select>


????props: ["addList"],? //父組件通過props傳遞addList給子組件

? ? methods : {

? ??????getProvince(e){

? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ????//獲取市區(qū)數(shù)據(jù),然后賦值給對應(yīng)的數(shù)組

? ? ? ? ? ? ? ? var vm = this;

? ?????????? ????setTimeout(function() {

? ? ? ? ? ? ? ? ? ? ? ? ? ? vm.$emit("addlist", vm.addList);? //注意要把數(shù)據(jù)通過emit傳遞給父組件

? ? ? ? ? ? ? ? ????}, 10);

????????}

????}

? ??mounted (){

? ? ? ? //通過省接口獲取省級數(shù)據(jù)

????}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容