vue中集成省市區(qū)街四級地址組件的實現(xiàn)過程
前言
省市區(qū)地址大家應該都不陌生吧,網(wǎng)上買個東西,得填地址。中午定個飯,得寫地址;叫個貨拉拉叫個跑腿,是不是也得寫地址。
但是選擇地址的時候,不同場景下選擇的范圍不同,就像出門在外,根據(jù)所處的地域,回答別人“你是哪里的”的話也不一樣。
比如我是山西呂梁柳林縣的,我到了縣城,我的回答是:我是XXX鎮(zhèn)的。
我到了市里,我的回答是:我是XXX縣的。
我到了省城,我的回答則是:我是XXX市的。
當我到省外的時候,我的回答肯定是:我是XXX省的。
在我們項目中也是同樣的道理,有時候只需要選擇省就可以,有時候則需要選擇到市、縣,以至于鄉(xiāng)鎮(zhèn),甚至哪個村都有可能,不同項目不同的選擇范圍。
許多框架中都會自帶地址欄組件,比如我們今天要介紹的jeecg-boot中,但是它自帶的只有三級,也就是到了區(qū)的這一級,但是我們項目確是需要到五級,所以我們就不得不改一下。
效果圖
首先我們可以先來看看效果圖:

下拉選擇器,可以切換成四個下拉列表級聯(lián),也可以切換成現(xiàn)在這樣的,不同的標簽。
代碼實現(xiàn)
先安裝area-linkage-vue的依賴,命令如下:
npm i --save vue-area-linkage area-data
在main.js中引入:
import { pca, pcaa } from 'area-data'; // v5 or higher
import VueAreaLinkage from 'vue-area-linkage';
Vue.use(VueAreaLinkage)
這個地方需要注意,由于自帶的jeecg-boot地址欄組件和這個非常類似,我因為這個地方錯覺了,以為是一個,浪費了好多時間。

自帶的是:
//jeecg-boot原生的 import VueAreaLinkage from 'vue-area-linkage'; //jeecg原生的 Vue.use(VueAreaLinkage);
一定要區(qū)分開來,不然沒有效果。
在需要添加的頁面上引入:
import { pcaa } from 'area-data-vue'
在data中寫:
pcaaData:pcaa,
在templete中寫組件:
<area-cascader v-model='model.administrative' :data='pcaaData' :level='2' type='text' style='width: 100%' />
下面是來自官方的屬性介紹:
地址:在這里
area-select 組件
| 參數(shù) | 類型 | 可選值 | 默認值 | 說明 |
|---|---|---|---|---|
| type | String | all/code/text | code | 設(shè)置返回的數(shù)據(jù)格式 |
| placeholders | Array | - | [] | 設(shè)置 placeholder text |
| level | Number | 0/1/2 | 1 | 設(shè)置聯(lián)動層級(0-只選省份/1-省市聯(lián)動/2-省市區(qū)聯(lián)動) |
| size | String | small/medium/large | medium | 設(shè)置輸入框的大小 |
| disabled | Boolean | - | false | 是否禁用 |
| data | Object | - | - | 地區(qū)數(shù)據(jù)(v5需要傳入) |
| icon | String | - | area-select-icon | 自定義下拉小圖標 |
| disableLinkage | Boolean | - | true | 地區(qū)選擇是否進行聯(lián)動 |
v4 僅支持省市區(qū)聯(lián)動,即 v4 不再支持 level 的值為 3(省市區(qū)街聯(lián)動)
| 參數(shù) | 類型 | 可選值 | 默認值 | 說明 |
|---|---|---|---|---|
| type | String | all/code/text | code | 設(shè)置返回的數(shù)據(jù)格式 |
| placeholder | String | - | ‘’ | 設(shè)置 placeholder text |
| level | Number | 0/1 | 0 | 設(shè)置聯(lián)動層級(0-省市聯(lián)動/1-省市區(qū)聯(lián)動) |
| size | String | small/medium/large | medium | 設(shè)置輸入框的大小 |
| separator | String | - | ‘-’ | 顯示選中文本的分隔符 |
| disabled | Boolean | - | false | 是否禁用 |
| data | Object | - | - | 地區(qū)數(shù)據(jù)(v5需要傳入) |
事件
| 事件名 | 說明 | 參數(shù) |
|---|---|---|
| change | 選中值發(fā)生變化時觸發(fā) | 目前選擇的值 |
這就是今天要分享的內(nèi)容,你學會了嗎?
總結(jié)
到此這篇關(guān)于vue中集成省市區(qū)街四級地址組件實現(xiàn)的文章就介紹到這了,更多相關(guān)vue集成省市區(qū)街四級地址組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ant Design Vue 添加區(qū)分中英文的長度校驗功能
這篇文章主要介紹了Ant Design Vue 添加區(qū)分中英文的長度校驗功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下功能,2020-01-01
el-table-column 內(nèi)容不自動換行的解決方法
本文主要介紹了el-table-column 內(nèi)容不自動換行的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
Vue組件庫ElementUI實現(xiàn)表格加載樹形數(shù)據(jù)教程
這篇文章主要為大家詳細介紹了Vue組件庫ElementUI實現(xiàn)表格加載樹形數(shù)據(jù)教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06
Vue簡易注冊頁面+發(fā)送驗證碼功能的實現(xiàn)示例
本文主要介紹了Vue簡易注冊頁面+發(fā)送驗證碼功能的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
Vue組件庫ElementUI實現(xiàn)表格列表分頁效果
這篇文章主要為大家詳細介紹了Vue組件庫ElementUI實現(xiàn)表格列表分頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06

