vue基于mint-ui的城市選擇3級(jí)聯(lián)動(dòng)的示例
項(xiàng)目是基于 vue2 的移動(dòng)端項(xiàng)目
1、實(shí)際效果

地址三級(jí)聯(lián)動(dòng) mint-ui picker.png
2、首先你需要去下載一個(gè)包含中國(guó)省份,城市,區(qū)縣的數(shù)據(jù)
如下:
https://github.com/artiely/Administrative-divisions-of-China(里面包含二級(jí)聯(lián)動(dòng)數(shù)據(jù),三級(jí)聯(lián)動(dòng)數(shù)據(jù),四級(jí)聯(lián)動(dòng)數(shù)據(jù)等,找到自己需要的)
3、具體代碼
主要是用到了mint-ui的picker組件,關(guān)于mint-ui的使用就自行看官網(wǎng)
Ⅰ 、html組件
<div>
<mt-picker :slots="myAddressSlots" @change="onMyAddressChange"></mt-picker>
<p>地址3級(jí)聯(lián)動(dòng):{{myAddressProvince}} {{myAddressCity}} {{myAddresscounty}}</p>
</div>
Ⅱ 、組件方法
<script>
import { Picker } from 'mint-ui';
import myaddress from '../../../static/address3.json' //引入省市區(qū)數(shù)據(jù)
export default {
name: '',
components: {
'mt-picker': Picker
},
props: {},
data () {
return {
myAddressSlots: [
{
flex: 1,
defaultIndex: 1,
values: Object.keys(myaddress), //省份數(shù)組
className: 'slot1',
textAlign: 'center'
}, {
divider: true,
content: '-',
className: 'slot2'
}, {
flex: 1,
values: [],
className: 'slot3',
textAlign: 'center'
},
{
divider: true,
content: '-',
className: 'slot4'
},
{
flex: 1,
values: [],
className: 'slot5',
textAlign: 'center'
}
],
myAddressProvince:'省',
myAddressCity:'市',
myAddresscounty:'區(qū)/縣',
}
},
created() {
},
methods: {
onMyAddressChange(picker, values) {
if(myaddress[values[0]]){ //這個(gè)判斷類(lèi)似于v-if的效果(可以不加,但是vue會(huì)報(bào)錯(cuò),很不爽)
picker.setSlotValues(1,Object.keys(myaddress[values[0]])); // Object.keys()會(huì)返回一個(gè)數(shù)組,當(dāng)前省的數(shù)組
picker.setSlotValues(2,myaddress[values[0]][values[1]]); // 區(qū)/縣數(shù)據(jù)就是一個(gè)數(shù)組
this.myAddressProvince = values[0];
this.myAddressCity = values[1];
this.myAddresscounty = values[2];
}
},
},
mounted(){
this.$nextTick(() => { //vue里面全部加載好了再執(zhí)行的函數(shù) (類(lèi)似于setTimeout)
this.myAddressSlots[0].defaultIndex = 0
// 這里的值需要和 data里面 defaultIndex 的值不一樣才能夠初始化
//因?yàn)槲覜](méi)有看過(guò)源碼(我猜測(cè)是因?yàn)閿?shù)據(jù)沒(méi)有改變,不會(huì)觸發(fā)更新)
});
}
}
</script>
參考文章http://www.dhdzp.com/article/125935.htm(mint-ui picker 的四級(jí)聯(lián)動(dòng))
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue省市區(qū)三聯(lián)動(dòng)下拉選擇組件的實(shí)現(xiàn)
- vue elementUI使用tabs與導(dǎo)航欄聯(lián)動(dòng)
- vue基于mint-ui實(shí)現(xiàn)城市選擇三級(jí)聯(lián)動(dòng)
- 詳解Vue、element-ui、axios實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
- VUE2 前端實(shí)現(xiàn) 靜態(tài)二級(jí)省市聯(lián)動(dòng)選擇select的示例
- Vue.js組件tree實(shí)現(xiàn)省市多級(jí)聯(lián)動(dòng)
- vue mint-ui 實(shí)現(xiàn)省市區(qū)街道4級(jí)聯(lián)動(dòng)示例(仿淘寶京東收貨地址4級(jí)聯(lián)動(dòng))
- Vue實(shí)現(xiàn)左右菜單聯(lián)動(dòng)實(shí)現(xiàn)代碼
- vue左右側(cè)聯(lián)動(dòng)滾動(dòng)的實(shí)現(xiàn)代碼
- vue實(shí)現(xiàn)列表左右聯(lián)動(dòng)效果
相關(guān)文章
axios二次封裝的詳細(xì)過(guò)程與跨域問(wèn)題
通常我們的項(xiàng)目會(huì)越做越大,頁(yè)面也會(huì)越來(lái)越多,隨之而來(lái)的是接口數(shù)量的增加,api統(tǒng)一管理,不管接口有多少,所有的接口都可以非常清晰,容易維護(hù),下面這篇文章主要給大家介紹了關(guān)于axios二次封裝的詳細(xì)過(guò)程與跨域問(wèn)題的相關(guān)資料,需要的朋友可以參考下2022-09-09
vue實(shí)現(xiàn)圖片滾動(dòng)的示例代碼(類(lèi)似走馬燈效果)
下面小編就為大家分享一篇vue實(shí)現(xiàn)圖片滾動(dòng)的示例代碼(類(lèi)似走馬燈效果),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
vue動(dòng)畫(huà)—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫(huà)操作
這篇文章主要介紹了vue動(dòng)畫(huà)—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫(huà)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
Vue v2.4中新增的$attrs及$listeners屬性使用教程
這篇文章主要給大家介紹了關(guān)于Vue v2.4中新增的$attrs及$listeners屬性的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
完美解決element-ui的el-input設(shè)置number類(lèi)型后的相關(guān)問(wèn)題
這篇文章主要介紹了完美解決element-ui的el-input設(shè)置number類(lèi)型后的相關(guān)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10
ant design vue datepicker日期選擇器中文化操作
這篇文章主要介紹了ant design vue datepicker日期選擇器中文化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10

