項(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>參考文章//www.survivalescaperooms.com/article/125935.htm(mint-ui picker 的四級(jí)聯(lián)動(dòng))
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注