最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用vue+elementUI設(shè)置省市縣三級聯(lián)動下拉列表框的詳細(xì)過程

 更新時間:2022年08月03日 15:45:21   作者:動飛雨  
在做電商項目的時候需要添加修改收貨地址,如何實現(xiàn)三級聯(lián)動選取省市區(qū)地址困擾了我不少時間,這篇文章主要給大家介紹了關(guān)于利用vue+elementUI設(shè)置省市縣三級聯(lián)動下拉列表框的相關(guān)資料,需要的朋友可以參考下

前言

在前端項目開發(fā)中,經(jīng)常會遇到省市縣三級聯(lián)動的下拉列表框組的問題,分享以下實現(xiàn)方法,以下內(nèi)容為具體的實現(xiàn)過程:

實現(xiàn)過程

1.靜態(tài)頁面組件搭建:使用elementUI的form表單,并做一下基本的修改,得到以下結(jié)果:

2.然后是組件的數(shù)據(jù)配置:

表單的基本數(shù)據(jù)存放在form對象里面,至于省市縣三個下拉菜單的數(shù)據(jù),則以數(shù)組的形式存放,分別為provinceList[];cityList[];countyListp[]。

3.接下來處理重點數(shù)據(jù):三級下拉菜單的聯(lián)動:

3.1點擊省下拉菜單獲取省份:

 主要技術(shù)點在于:通過調(diào)取百度地圖的API接口,獲取全國省市縣行政區(qū)劃:

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  /* 省*/
         /* 進(jìn)行遍歷賦值*/
         /* 市區(qū)和縣區(qū)*/
       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
})

上述代碼的作用:在 獲取百度地圖提供的行政區(qū)劃后,對這些行政區(qū)劃樹進(jìn)行初始化,主要是給選各個省份匹配其對應(yīng)的市和縣級行政區(qū)。

接下來的操作就是點擊選擇省份就可以獲取其對應(yīng)的 市級行政區(qū),點擊選擇市級下拉菜單就可以獲取其對應(yīng)的縣級行政區(qū),代碼如下:

根據(jù)選中省,匹配市:

provinceChange(that){
    // 根據(jù)選中省,匹配市
    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)
            }
        })  /* 市匹配成功*/
    }
},

 // 根據(jù)市區(qū),匹配縣區(qū)

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)
                        }
                    })
                }
            },

做了這些程序配置后,就可以實現(xiàn)三級下拉菜單的聯(lián)動了。效果圖如下

總結(jié)

到此這篇關(guān)于利用vue+elementUI設(shè)置省市縣三級聯(lián)動下拉列表框的文章就介紹到這了,更多相關(guān)vue+elementUI省市縣三級聯(lián)動下拉列表框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 記錄--使用el-time-picker默認(rèn)值遇到的問題

    記錄--使用el-time-picker默認(rèn)值遇到的問題

    這篇文章主要介紹了記錄--使用el-time-picker默認(rèn)值遇到的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 簡單理解Vue中的nextTick方法

    簡單理解Vue中的nextTick方法

    本篇文章主要介紹了簡單理解Vue中的nextTick方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • vite項目vite.config.js詳細(xì)配置

    vite項目vite.config.js詳細(xì)配置

    vite.config.js是Vite框架中的配置文件,用于配置項目的構(gòu)建和運行時的行為,下面這篇文章主要給大家介紹了關(guān)于vite項目vite.config.js詳細(xì)配置的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Vue實現(xiàn)封裝一個切片上傳組件

    Vue實現(xiàn)封裝一個切片上傳組件

    平時業(yè)務(wù)開發(fā)中用el-upload能滿足大部分場景,但是對于一些大文件的上傳時會比較慢,所以自己基于el-upload封裝了一個切片上傳組件,希望對大家有所幫助
    2023-03-03
  • 關(guān)于全局安裝vue-cli遇到的問題及解決

    關(guān)于全局安裝vue-cli遇到的問題及解決

    這篇文章主要介紹了關(guān)于全局安裝vue-cli遇到的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue組件傳值(高級)、屬性傳值、反向傳值、跨級傳值實例詳解

    vue組件傳值(高級)、屬性傳值、反向傳值、跨級傳值實例詳解

    父組件通過屬性傳值給子組件,父組件修改數(shù)據(jù)后會刷新頁面并重新傳值給子組件,子組件可以修改父組件傳的值并刷新自己的頁面?但是并不會修改父組件中的值,這篇文章主要介紹了vue組件傳值(高級)、屬性傳值、反向傳值、跨級傳值,需要的朋友可以參考下
    2022-09-09
  • vue使用動態(tài)組件手寫Router View實現(xiàn)示例

    vue使用動態(tài)組件手寫Router View實現(xiàn)示例

    這篇文章主要為大家介紹了vue使用動態(tài)組件手寫RouterView實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Vue的列表之渲染,排序,過濾詳解

    Vue的列表之渲染,排序,過濾詳解

    這篇文章主要為大家詳細(xì)介紹了Vue的列表之渲染,排序,過濾,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • vue3使用videojs播放m3u8格式視頻教程

    vue3使用videojs播放m3u8格式視頻教程

    m3u8是一種基于HTTP Live Streaming(HLS)文件視頻格式,它主要是存放整個視頻的基本信息和分片(Segment)組成,下面這篇文章主要給大家介紹了關(guān)于vue3使用videojs播放m3u8格式視頻的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • 使用async-validator編寫Form組件的方法

    使用async-validator編寫Form組件的方法

    本篇文章主要介紹了使用 async-validator 編寫 Form 組件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01

最新評論

越西县| 中方县| 茂名市| 交口县| 分宜县| 濉溪县| 石门县| 漾濞| 宜州市| 惠水县| 福清市| 巩留县| 思南县| 遵化市| 扶绥县| 白水县| 玉环县| 库车县| 唐河县| 广东省| 鞍山市| 松滋市| 绥江县| 襄垣县| 大同县| 齐齐哈尔市| 深水埗区| 宣城市| 揭阳市| 阳春市| 洛宁县| 长泰县| 监利县| 光泽县| 通化县| 迁安市| 炉霍县| 庐江县| 巩留县| 千阳县| 东丰县|