vue三級(jí)聯(lián)動(dòng)

示例:選擇省市區(qū)的三級(jí)聯(lián)動(dòng)

template:

<el-form-item label="地址:" >
                        <el-select v-model="prov">
                            <el-option v-for="option in arr" :value="option.name">
                                {{ option.name }}
                            </el-option>
                        </el-select>
                        <el-select v-model="city">
                            <el-option v-for="option in cityArr" :value="option.name">
                                {{ option.name }}
                            </el-option>
                        </el-select>
                        <el-collapse-transition>
                            <el-select v-model="district" v-if="district">
                                <el-option v-for="option in districtArr" :value="option.name">
                                    {{ option.name }}
                                </el-option>
                            </el-select>
                        </el-collapse-transition>
                        <el-input placeholder="請(qǐng)輸入收貨人地址"></el-input>
                    </el-form-item>

script:

import arrAll from './assets/js/distList.js'
data(){
      return {
            prov: '廣東',
        city: '廣州',
        district: '荔灣區(qū)',
        cityArr: [],
        districtArr: [],
        arr: arrAll
      }
},
created(){
            this.updateCity();
            this.updateDistrict();
        },
watch: {
            prov: function () {
                this.updateCity();
                this.updateDistrict();
            },
            city: function () {
                this.updateDistrict();
            }
 },
methods{
        updateCity: function () {
                try{
                    this.arr.forEach((item,index)=>{
                        if(item.name === this.prov){
                            this.cityArr = item.sub
                            foreach.break = new Error("StopIteration")
                        }
                    })
                }catch(e){
                    if(e.message==="foreach is not defined") {
                        //console.log("...")
                    }else throw e
                }
                this.city = this.cityArr[1].name;
            },
            updateDistrict: function () {
                try{
                    this.cityArr.forEach((item,index)=>{
                        if(item.name === this.city){
                            this.districtArr = item.sub
                            foreach.break = new Error("StopIteration")
                        }
                    })
                }catch(e){
                    if(e.message==="foreach is not defined") {
                        //console.log("...")
                    }else throw e
                }
                if(this.districtArr && this.districtArr.length > 0 && this.districtArr[1].name) {
                    this.district = this.districtArr[1].name;
                } else {
                    this.district = '';
                }
            }
}

distList.js

/**
 * Created by AklanFun on 2017/11/13.
 */
const arrAll = [
    {
        name: "廣東",
        sub: [
            {
                name: "廣州",
                sub: [ {name: "越秀區(qū)"}, {name: "荔灣區(qū)"}, {name: "海珠區(qū)"}, {name: "天河區(qū)"}, {name: "白云區(qū)"}, {name: "黃埔區(qū)"}, {name: "番禺區(qū)"}, {name: "花都區(qū)"}, {name: "南沙區(qū)"}, {name: "蘿崗區(qū)"}, {name: "增城市"}, {name: "從化市"}, {name: "其他"}],
                type: 0
            },
            {
                name: "深圳",
                sub: [ {name: "福田區(qū)"}, {name: "羅湖區(qū)"}, {name: "南山區(qū)"}, {name: "寶安區(qū)"}, {name: "龍崗區(qū)"}, {name: "鹽田區(qū)"}, {name: "其他"}],
                type: 0
            },
            {
                name: "珠海",
                sub: [ {name: "香洲區(qū)"}, {name: "斗門區(qū)"}, {name: "金灣區(qū)"}, {name: "其他"}],
                type: 0
            },
            {
                name: "汕頭",
                sub: [ {name: "金平區(qū)"}, {name: "濠江區(qū)"}, {name: "龍湖區(qū)"}, {name: "潮陽(yáng)區(qū)"}, {name: "潮南區(qū)"}, {name: "澄海區(qū)"}, {name: "南澳縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "韶關(guān)",
                sub: [ {name: "湞江區(qū)"}, {name: "武江區(qū)"}, {name: "曲江區(qū)"}, {name: "樂(lè)昌市"}, {name: "南雄市"}, {name: "始興縣"}, {name: "仁化縣"}, {name: "翁源縣"}, {name: "新豐縣"}, {name: "乳源瑤族自治縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "佛山",
                sub: [ {name: "禪城區(qū)"}, {name: "南海區(qū)"}, {name: "順德區(qū)"}, {name: "三水區(qū)"}, {name: "高明區(qū)"}, {name: "其他"}],
                type: 0
            },
            {
                name: "江門",
                sub: [ {name: "蓬江區(qū)"}, {name: "江海區(qū)"}, {name: "新會(huì)區(qū)"}, {name: "恩平市"}, {name: "臺(tái)山市"}, {name: "開平市"}, {name: "鶴山市"}, {name: "其他"}],
                type: 0
            },
            {
                name: "湛江",
                sub: [ {name: "赤坎區(qū)"}, {name: "霞山區(qū)"}, {name: "坡頭區(qū)"}, {name: "麻章區(qū)"}, {name: "吳川市"}, {name: "廉江市"}, {name: "雷州市"}, {name: "遂溪縣"}, {name: "徐聞縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "茂名",
                sub: [ {name: "茂南區(qū)"}, {name: "茂港區(qū)"}, {name: "化州市"}, {name: "信宜市"}, {name: "高州市"}, {name: "電白縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "肇慶",
                sub: [ {name: "端州區(qū)"}, {name: "鼎湖區(qū)"}, {name: "高要市"}, {name: "四會(huì)市"}, {name: "廣寧縣"}, {name: "懷集縣"}, {name: "封開縣"}, {name: "德慶縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "惠州",
                sub: [ {name: "惠城區(qū)"}, {name: "惠陽(yáng)區(qū)"}, {name: "博羅縣"}, {name: "惠東縣"}, {name: "龍門縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "梅州",
                sub: [ {name: "梅江區(qū)"}, {name: "興寧市"}, {name: "梅縣"}, {name: "大埔縣"}, {name: "豐順縣"}, {name: "五華縣"}, {name: "平遠(yuǎn)縣"}, {name: "蕉嶺縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "汕尾",
                sub: [ {name: "城區(qū)"}, {name: "陸豐市"}, {name: "海豐縣"}, {name: "陸河縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "河源",
                sub: [ {name: "源城區(qū)"}, {name: "紫金縣"}, {name: "龍川縣"}, {name: "連平縣"}, {name: "和平縣"}, {name: "東源縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "陽(yáng)江",
                sub: [ {name: "江城區(qū)"}, {name: "陽(yáng)春市"}, {name: "陽(yáng)西縣"}, {name: "陽(yáng)東縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "清遠(yuǎn)",
                sub: [ {name: "清城區(qū)"}, {name: "英德市"}, {name: "連州市"}, {name: "佛岡縣"}, {name: "陽(yáng)山縣"}, {name: "清新縣"}, {name: "連山壯族瑤族自治縣"}, {name: "連南瑤族自治縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "東莞",
                sub: [],
                type: 0
            },
            {
                name: "中山",
                sub: [],
                type: 0
            },
            {
                name: "潮州",
                sub: [ {name: "湘橋區(qū)"}, {name: "潮安縣"}, {name: "饒平縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "揭陽(yáng)",
                sub: [ {name: "榕城區(qū)"}, {name: "普寧市"}, {name: "揭東縣"}, {name: "揭西縣"}, {name: "惠來(lái)縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "云浮",
                sub: [ {name: "云城區(qū)"}, {name: "羅定市"}, {name: "云安縣"}, {name: "新興縣"}, {name: "郁南縣"}, {name: "其他"}],
                type: 0
            },
            {name: "其他"}
        ],
        type: 1
    },
    {
        name: "上海",
        sub: [
            {name: "黃浦區(qū)"}, {name: "盧灣區(qū)"}, {name: "徐匯區(qū)"}, {name: "長(zhǎng)寧區(qū)"}, {name: "靜安區(qū)"}, {name: "普陀區(qū)"}, {name: "閘北區(qū)"}, {name: "虹口區(qū)"}, {name: "楊浦區(qū)"}, {name: "寶山區(qū)"}, {name: "閔行區(qū)"}, {name: "嘉定區(qū)"}, {name: "松江區(qū)"}, {name: "金山區(qū)"}, {name: "青浦區(qū)"}, {name: "南匯區(qū)"}, {name: "奉賢區(qū)"}, {name: "浦東新區(qū)"}, {name: "崇明縣"}, {name: "其他"}
        ],
        type: 1
    },
    {
        name: "江蘇",
        sub: [
            {
                name: "南京",
                sub: [ {name: "玄武區(qū)"}, {name: "白下區(qū)"}, {name: "秦淮區(qū)"}, {name: "建鄴區(qū)"}, {name: "鼓樓區(qū)"}, {name: "下關(guān)區(qū)"}, {name: "棲霞區(qū)"}, {name: "雨花臺(tái)區(qū)"}, {name: "浦口區(qū)"}, {name: "江寧區(qū)"}, {name: "六合區(qū)"}, {name: "溧水縣"}, {name: "高淳縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "蘇州",
                sub: [ {name: "金閶區(qū)"}, {name: "平江區(qū)"}, {name: "滄浪區(qū)"}, {name: "虎丘區(qū)"}, {name: "吳中區(qū)"}, {name: "相城區(qū)"}, {name: "常熟市"}, {name: "張家港市"}, {name: "昆山市"}, {name: "吳江市"}, {name: "太倉(cāng)市"}, {name: "其他"}],
                type: 0
            },
            {
                name: "無(wú)錫",
                sub: [ {name: "崇安區(qū)"}, {name: "南長(zhǎng)區(qū)"}, {name: "北塘區(qū)"}, {name: "濱湖區(qū)"}, {name: "錫山區(qū)"}, {name: "惠山區(qū)"}, {name: "江陰市"}, {name: "宜興市"}, {name: "其他"}],
                type: 0
            },
            {
                name: "常州",
                sub: [ {name: "鐘樓區(qū)"}, {name: "天寧區(qū)"}, {name: "戚墅堰區(qū)"}, {name: "新北區(qū)"}, {name: "武進(jìn)區(qū)"}, {name: "金壇市"}, {name: "溧陽(yáng)市"}, {name: "其他"}],
                type: 0
            },
            {
                name: "鎮(zhèn)江",
                sub: [ {name: "京口區(qū)"}, {name: "潤(rùn)州區(qū)"}, {name: "丹徒區(qū)"}, {name: "丹陽(yáng)市"}, {name: "揚(yáng)中市"}, {name: "句容市"}, {name: "其他"}],
                type: 0
            },
            {
                name: "南通",
                sub: [ {name: "崇川區(qū)"}, {name: "港閘區(qū)"}, {name: "通州市"}, {name: "如皋市"}, {name: "海門市"}, {name: "啟東市"}, {name: "海安縣"}, {name: "如東縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "泰州",
                sub: [ {name: "海陵區(qū)"}, {name: "高港區(qū)"}, {name: "姜堰市"}, {name: "泰興市"}, {name: "靖江市"}, {name: "興化市"}, {name: "其他"}],
                type: 0
            },
            {
                name: "揚(yáng)州",
                sub: [ {name: "廣陵區(qū)"}, {name: "維揚(yáng)區(qū)"}, {name: "邗江區(qū)"}, {name: "江都市"}, {name: "儀征市"}, {name: "高郵市"}, {name: "寶應(yīng)縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "鹽城",
                sub: [ {name: "亭湖區(qū)"}, {name: "鹽都區(qū)"}, {name: "大豐市"}, {name: "東臺(tái)市"}, {name: "建湖縣"}, {name: "射陽(yáng)縣"}, {name: "阜寧縣"}, {name: "濱核豕Γ縣"}, {name: "響水縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "連云港",
                sub: [ {name: "新浦區(qū)"}, {name: "海州區(qū)"}, {name: "連云區(qū)"}, {name: "東海縣"}, {name: "灌云縣"}, {name: "贛榆縣"}, {name: "灌南縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "徐州",
                sub: [ {name: "云龍區(qū)"}, {name: "鼓樓區(qū)"}, {name: "九里區(qū)"}, {name: "泉山區(qū)"}, {name: "賈汪區(qū)"}, {name: "邳州市"}, {name: "新沂市"}, {name: "銅山縣"}, {name: "睢寧縣"}, {name: "沛縣"}, {name: "豐縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "淮安",
                sub: [ {name: "清河區(qū)"}, {name: "清浦區(qū)"}, {name: "楚州區(qū)"}, {name: "淮陰區(qū)"}, {name: "漣水縣"}, {name: "洪澤縣"}, {name: "金湖縣"}, {name: "盱眙縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "宿遷",
                sub: [ {name: "宿城區(qū)"}, {name: "宿豫區(qū)"}, {name: "沭陽(yáng)縣"}, {name: "泗陽(yáng)縣"}, {name: "泗洪縣"}, {name: "其他"}],
                type: 0
            },
            {name: "其他"}
        ],
        type: 1
    },
    {
        name: "浙江",
        sub: [
            {
                name: "杭州",
                sub: [ {name: "拱墅區(qū)"}, {name: "西湖區(qū)"}, {name: "上城區(qū)"}, {name: "下城區(qū)"}, {name: "江干區(qū)"}, {name: "濱江區(qū)"}, {name: "余杭區(qū)"}, {name: "蕭山區(qū)"}, {name: "建德市"}, {name: "富陽(yáng)市"}, {name: "臨安市"}, {name: "桐廬縣"}, {name: "淳安縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "寧波",
                sub: [ {name: "海曙區(qū)"}, {name: "江東區(qū)"}, {name: "江北區(qū)"}, {name: "鎮(zhèn)海區(qū)"}, {name: "北侖區(qū)"}, {name: "鄞州區(qū)"}, {name: "余姚市"}, {name: "慈溪市"}, {name: "奉化市"}, {name: "寧憾及欤縣"}, {name: "象山縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "溫州",
                sub: [ {name: "鹿城區(qū)"}, {name: "龍灣區(qū)"}, {name: "甌海區(qū)"}, {name: "瑞安市"}, {name: "樂(lè)清市"}, {name: "永嘉縣"}, {name: "洞頭縣"}, {name: "平陽(yáng)縣"}, {name: "蒼南縣"}, {name: "文成縣"}, {name: "泰順縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "嘉興",
                sub: [ {name: "秀城區(qū)"}, {name: "秀洲區(qū)"}, {name: "海寧市"}, {name: "平湖市"}, {name: "桐鄉(xiāng)市"}, {name: "嘉善縣"}, {name: "海鹽縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "湖州",
                sub: [ {name: "吳興區(qū)"}, {name: "南潯區(qū)"}, {name: "長(zhǎng)興縣"}, {name: "德清縣"}, {name: "安吉縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "紹興",
                sub: [ {name: "越城區(qū)"}, {name: "諸暨市"}, {name: "上虞市"}, {name: "嵊州市"}, {name: "紹興縣"}, {name: "新昌縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "金華",
                sub: [ {name: "婺城區(qū)"}, {name: "金東區(qū)"}, {name: "蘭溪市"}, {name: "義烏市"}, {name: "東陽(yáng)市"}, {name: "永康市"}, {name: "武義縣"}, {name: "浦江縣"}, {name: "磐安縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "衢州",
                sub: [ {name: "柯城區(qū)"}, {name: "衢江區(qū)"}, {name: "江山市"}, {name: "龍游縣"}, {name: "常山縣"}, {name: "開化縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "舟山",
                sub: [ {name: "定海區(qū)"}, {name: "普陀區(qū)"}, {name: "岱山縣"}, {name: "嵊泗縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "臺(tái)州",
                sub: [ {name: "椒江區(qū)"}, {name: "黃巖區(qū)"}, {name: "路橋區(qū)"}, {name: "臨海市"}, {name: "溫嶺市"}, {name: "玉環(huán)縣"}, {name: "天臺(tái)縣"}, {name: "仙居縣"}, {name: "三門縣"}, {name: "其他"}],
                type: 0
            },
            {
                name: "麗水",
                sub: [ {name: "蓮都區(qū)"}, {name: "龍泉市"}, {name: "縉云縣"}, {name: "青田縣"}, {name: "云和縣"}, {name: "遂昌縣"}, {name: "松陽(yáng)縣"}, {name: "慶元縣"}, {name: "景寧畬族自治縣"}, {name: "其他"}],
                type: 0
            },
            {name: "其他"}
        ],
        type: 1
    }
]

export default arrAll
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嫡锌,一起剝皮案震驚了整個(gè)濱河市虑稼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌势木,老刑警劉巖蛛倦,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異跟压,居然都是意外死亡胰蝠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門震蒋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)茸塞,“玉大人,你說(shuō)我怎么就攤上這事查剖〖嘏埃” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵笋庄,是天一觀的道長(zhǎng)效扫。 經(jīng)常有香客問(wèn)我,道長(zhǎng)直砂,這世上最難降的妖魔是什么菌仁? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮静暂,結(jié)果婚禮上济丘,老公的妹妹穿的比我還像新娘。我一直安慰自己洽蛀,他們只是感情好摹迷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著郊供,像睡著了一般峡碉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驮审,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天鲫寄,我揣著相機(jī)與錄音,去河邊找鬼头岔。 笑死塔拳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的峡竣。 我是一名探鬼主播靠抑,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼适掰!你這毒婦竟也來(lái)了颂碧?” 一聲冷哼從身側(cè)響起荠列,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎载城,沒(méi)想到半個(gè)月后肌似,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诉瓦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年川队,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睬澡。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡固额,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出煞聪,到底是詐尸還是另有隱情斗躏,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布昔脯,位于F島的核電站啄糙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏云稚。R本人自食惡果不足惜隧饼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望静陈。 院中可真熱鬧桑李,春花似錦、人聲如沸窿给。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)崩泡。三九已至,卻和暖如春猬膨,著一層夾襖步出監(jiān)牢的瞬間角撞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工勃痴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谒所,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓沛申,卻偏偏與公主長(zhǎng)得像劣领,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铁材,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容