您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“如何利用vue+elementUI設置省市縣三級聯動下拉列表框”,內容詳細,步驟清晰,細節處理妥當,希望這篇“如何利用vue+elementUI設置省市縣三級聯動下拉列表框”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
1.靜態頁面組件搭建:使用elementUI的form表單,并做一下基本的修改,得到以下結果:
2.然后是組件的數據配置:
表單的基本數據存放在form對象里面,至于省市縣三個下拉菜單的數據,則以數組的形式存放,分別為provinceList[];cityList[];countyListp[]。
3.接下來處理重點數據:三級下拉菜單的聯動:
3.1點擊省下拉菜單獲取省份:
主要技術點在于:通過調取百度地圖的API接口,獲取全國省市縣行政區劃:
this.$http({ method:"get", url:"https://restapi.amap.com/v3/config/district?parameters", params:{ key:"3a708a4ef5e3af28694b1c861985a5ce", keyWords:"中國", subdistrict:3 } }).then((res)=>{ this.form.provinceList = res.data.districts[0].districts /* 省*/ /* 進行遍歷賦值*/ /* 市區和縣區*/ let newProvince = this.form.provinceList for(let i = 0; i < newProvince.length; i++){ /* 省級*/ for(let j = 0; j < newProvince[i].districts.length; j++){ /* 市級*/ let city = newProvince[i].districts[j].name this.CITY.push({id:j+1,name:city,code:i+1}) for(let k = 0;k<newProvince[i].districts[j].districts.length; k++){/* 縣級*/ let xian = newProvince[i].districts[j].districts[k].name this.XIAN.push({id:k+1,name:xian,code:j+1,cityCountyName:city}) } } } for(let m = 0; m < newProvince.length;m++){ newProvince[m] = {...newProvince[m],...{code:m+1}} } this.form.provinceList = newProvince })
上述代碼的作用:在 獲取百度地圖提供的行政區劃后,對這些行政區劃樹進行初始化,主要是給選各個省份匹配其對應的市和縣級行政區。
接下來的操作就是點擊選擇省份就可以獲取其對應的 市級行政區,點擊選擇市級下拉菜單就可以獲取其對應的縣級行政區,代碼如下:
根據選中省,匹配市:
provinceChange(that){ // 根據選中省,匹配市 let cityCode = 0 let newCityArry = [] this.form.provinceList.forEach((item,index)=>{ if(item.name == that){ cityCode = item.code } }) // console.log(cityCode) if(cityCode){ this.form.cityList = [] this.CITY.forEach((item,index)=>{ if(item.code == cityCode){ this.form.cityList.push(item) } }) /* 市匹配成功*/ } },
// 根據市區,匹配縣區
cityChange(that){ let countyCode = 0 let cityname = '' let newCountyArry = [] this.form.cityList.forEach((item,index)=>{ if(item.name == that){ countyCode = item.id cityname = item.name } }) if(countyCode){ this.form.countyList = [] this.XIAN.forEach((item,index)=>{ if(item.code == countyCode && item.cityCountyName == cityname){ this.form.countyList.push(item) } }) } },
做了這些程序配置后,就可以實現三級下拉菜單的聯動了。效果圖如下
讀到這里,這篇“如何利用vue+elementUI設置省市縣三級聯動下拉列表框”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。