vue基于mint-ui的城市選擇3級聯(lián)動的示例
項目是基于 vue2 的移動端項目
1、實際效果
地址三級聯(lián)動 mint-ui picker.png
2、首先你需要去下載一個包含中國省份,城市,區(qū)縣的數(shù)據(jù)
如下:
https://github.com/artiely/Administrative-divisions-of-China(里面包含二級聯(lián)動數(shù)據(jù),三級聯(lián)動數(shù)據(jù),四級聯(lián)動數(shù)據(jù)等,找到自己需要的)
3、具體代碼
主要是用到了mint-ui的picker組件,關于mint-ui的使用就自行看官網(wǎng)
Ⅰ 、html組件
<div> <mt-picker :slots="myAddressSlots" @change="onMyAddressChange"></mt-picker> <p>地址3級聯(lián)動:{{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]]){ //這個判斷類似于v-if的效果(可以不加,但是vue會報錯,很不爽) picker.setSlotValues(1,Object.keys(myaddress[values[0]])); // Object.keys()會返回一個數(shù)組,當前省的數(shù)組 picker.setSlotValues(2,myaddress[values[0]][values[1]]); // 區(qū)/縣數(shù)據(jù)就是一個數(shù)組 this.myAddressProvince = values[0]; this.myAddressCity = values[1]; this.myAddresscounty = values[2]; } }, }, mounted(){ this.$nextTick(() => { //vue里面全部加載好了再執(zhí)行的函數(shù) (類似于setTimeout) this.myAddressSlots[0].defaultIndex = 0 // 這里的值需要和 data里面 defaultIndex 的值不一樣才能夠初始化 //因為我沒有看過源碼(我猜測是因為數(shù)據(jù)沒有改變,不會觸發(fā)更新) }); } } </script>
參考文章http://www.dbjr.com.cn/article/125935.htm(mint-ui picker 的四級聯(lián)動)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- vue省市區(qū)三聯(lián)動下拉選擇組件的實現(xiàn)
- vue elementUI使用tabs與導航欄聯(lián)動
- vue基于mint-ui實現(xiàn)城市選擇三級聯(lián)動
- 詳解Vue、element-ui、axios實現(xiàn)省市區(qū)三級聯(lián)動
- VUE2 前端實現(xiàn) 靜態(tài)二級省市聯(lián)動選擇select的示例
- Vue.js組件tree實現(xiàn)省市多級聯(lián)動
- vue mint-ui 實現(xiàn)省市區(qū)街道4級聯(lián)動示例(仿淘寶京東收貨地址4級聯(lián)動)
- Vue實現(xiàn)左右菜單聯(lián)動實現(xiàn)代碼
- vue左右側聯(lián)動滾動的實現(xiàn)代碼
- vue實現(xiàn)列表左右聯(lián)動效果
相關文章
vue中的.capture和.self區(qū)分及初步理解
這篇文章主要介紹了vue中的.capture和.self區(qū)分及初步理解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04解決vant的Toast組件時提示not defined的問題
這篇文章主要介紹了解決vant的Toast組件時提示not defined的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11vue采用EventBus實現(xiàn)跨組件通信及注意事項小結
EventBus是一種發(fā)布/訂閱事件設計模式的實踐。這篇文章主要介紹了vue采用EventBus實現(xiàn)跨組件通信及注意事項,需要的朋友可以參考下2018-06-06