使用mint-ui實現(xiàn)省市區(qū)三級聯(lián)動效果的示例代碼
引用插件:餓了么的mint-ui組件中的picker功能,具體API可參照官網(wǎng)說明:http://mint-ui.github.io/docs/#/zh-cn2/picker
背景:項目需要做一個省份-城市-地區(qū)的選擇級聯(lián)效果,我從gayhub上找了一下,決定使用mint-ui的組件,因為各個功能都很全而且設(shè)計跟我們的項目風(fēng)格類似。
具體實現(xiàn):
通過閱讀官網(wǎng)的實例,大概就能知道這個組件的用法:
在vue中寫入組件:<mt-picker :slots="slots" @change="onValuesChange"></mt-picker>
我們可以看到,這個組件中傳入的數(shù)據(jù)slots和當(dāng)其改變是觸發(fā)的事件:onValuesChange(),所以只要在使用該組件的父組件內(nèi)注冊slots和onValuesChange就可以實現(xiàn)了
以下是官網(wǎng)上的實例:
export default {
methods: {
onValuesChange(picker, values) {
if (values[0] > values[1]) {
picker.setSlotValue(1, values[0]);
}
}
},
data() {
return {
slots: [
{
flex: 1,
values: ['2015-01', '2015-02', '2015-03', '2015-04', '2015-05', '2015-06'],
className: 'slot1',
textAlign: 'right'
}, {
divider: true,
content: '-',
className: 'slot2'
}, {
flex: 1,
values: ['2015-01', '2015-02', '2015-03', '2015-04', '2015-05', '2015-06'],
className: 'slot3',
textAlign: 'left'
}
]
};
}
};
在實際操作中當(dāng)我想使用picker來進(jìn)行省份、城市、地區(qū)的選擇時,發(fā)現(xiàn)最大的問題是搞不到符合該插件數(shù)據(jù)格式的數(shù)據(jù),于是從百度上扒了一份省份、城市、地區(qū)數(shù)據(jù)之后寫了一個函數(shù)對其進(jìn)行了處理,在這里,共享給大家:

onProvinceChange(picker, values) {
this.province = picker.getValues()[0]
var cityArr = [];
for(var key in provinceCity[this.province]) {
cityArr.push(key);
}
this.slots2[0].values = cityArr;
},
onCityChange(picker, values) {
this.city = picker.getValues()[0]
var countyArr = [];
for(var key in provinceCity[this.province][this.city]) {
countyArr.push(key);
}
this.slots3[0].values = countyArr;
},
onCountyChange(picker, values) {
this.county = picker.getValues()[0]
},
三組數(shù)據(jù)以及三個方法如上,當(dāng)對省份進(jìn)行選擇時,動態(tài)匹配相應(yīng)的城市,同理對城市進(jìn)行選擇時動態(tài)匹配相應(yīng)的地區(qū),如此就可以實現(xiàn)三級聯(lián)動的效果了
以上這篇使用mint-ui實現(xiàn)省市區(qū)三級聯(lián)動效果的示例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用vue-cli導(dǎo)入Element UI組件的方法
這篇文章給大家介紹了使用vue-cli導(dǎo)入Element UI組件的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友一起看看吧2018-05-05
nuxt.js中間件實現(xiàn)攔截權(quán)限判斷的方法
這篇文章主要介紹了nuxt.js中間件實現(xiàn)攔截權(quán)限判斷的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
基于Vue實現(xiàn)圖片在指定區(qū)域內(nèi)移動的思路詳解
這篇文章主要介紹了基于Vue實現(xiàn)圖片在指定區(qū)域內(nèi)移動,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11
如何使用Vuex+Vue.js構(gòu)建單頁應(yīng)用
這篇文章主要教大家如何使用Vuex+Vue.js構(gòu)建單頁應(yīng)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10

