vue中集成省市區(qū)街四級(jí)地址組件的實(shí)現(xiàn)過程
前言
省市區(qū)地址大家應(yīng)該都不陌生吧,網(wǎng)上買個(gè)東西,得填地址。中午定個(gè)飯,得寫地址;叫個(gè)貨拉拉叫個(gè)跑腿,是不是也得寫地址。
但是選擇地址的時(shí)候,不同場景下選擇的范圍不同,就像出門在外,根據(jù)所處的地域,回答別人“你是哪里的”的話也不一樣。
比如我是山西呂梁柳林縣的,我到了縣城,我的回答是:我是XXX鎮(zhèn)的。
我到了市里,我的回答是:我是XXX縣的。
我到了省城,我的回答則是:我是XXX市的。
當(dāng)我到省外的時(shí)候,我的回答肯定是:我是XXX省的。
在我們項(xiàng)目中也是同樣的道理,有時(shí)候只需要選擇省就可以,有時(shí)候則需要選擇到市、縣,以至于鄉(xiāng)鎮(zhèn),甚至哪個(gè)村都有可能,不同項(xiàng)目不同的選擇范圍。
許多框架中都會(huì)自帶地址欄組件,比如我們今天要介紹的jeecg-boot
中,但是它自帶的只有三級(jí),也就是到了區(qū)的這一級(jí),但是我們項(xiàng)目確是需要到五級(jí),所以我們就不得不改一下。
效果圖
首先我們可以先來看看效果圖:
下拉選擇器,可以切換成四個(gè)下拉列表級(jí)聯(lián),也可以切換成現(xiàn)在這樣的,不同的標(biāo)簽。
代碼實(shí)現(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)
這個(gè)地方需要注意,由于自帶的jeecg-boot
地址欄組件和這個(gè)非常類似,我因?yàn)檫@個(gè)地方錯(cuò)覺了,以為是一個(gè),浪費(fèi)了好多時(shí)間。
自帶的是:
//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ù) | 類型 | 可選值 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
type | String | all/code/text | code | 設(shè)置返回的數(shù)據(jù)格式 |
placeholders | Array | - | [] | 設(shè)置 placeholder text |
level | Number | 0/1/2 | 1 | 設(shè)置聯(lián)動(dòng)層級(jí)(0-只選省份/1-省市聯(lián)動(dòng)/2-省市區(qū)聯(lián)動(dòng)) |
size | String | small/medium/large | medium | 設(shè)置輸入框的大小 |
disabled | Boolean | - | false | 是否禁用 |
data | Object | - | - | 地區(qū)數(shù)據(jù)(v5需要傳入) |
icon | String | - | area-select-icon | 自定義下拉小圖標(biāo) |
disableLinkage | Boolean | - | true | 地區(qū)選擇是否進(jìn)行聯(lián)動(dòng) |
v4 僅支持省市區(qū)聯(lián)動(dòng),即 v4 不再支持 level 的值為 3(省市區(qū)街聯(lián)動(dòng))
參數(shù) | 類型 | 可選值 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
type | String | all/code/text | code | 設(shè)置返回的數(shù)據(jù)格式 |
placeholder | String | - | ‘’ | 設(shè)置 placeholder text |
level | Number | 0/1 | 0 | 設(shè)置聯(lián)動(dòng)層級(jí)(0-省市聯(lián)動(dòng)/1-省市區(qū)聯(lián)動(dòng)) |
size | String | small/medium/large | medium | 設(shè)置輸入框的大小 |
separator | String | - | ‘-’ | 顯示選中文本的分隔符 |
disabled | Boolean | - | false | 是否禁用 |
data | Object | - | - | 地區(qū)數(shù)據(jù)(v5需要傳入) |
事件
事件名 | 說明 | 參數(shù) |
---|---|---|
change | 選中值發(fā)生變化時(shí)觸發(fā) | 目前選擇的值 |
這就是今天要分享的內(nèi)容,你學(xué)會(huì)了嗎?
總結(jié)
到此這篇關(guān)于vue中集成省市區(qū)街四級(jí)地址組件實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)vue集成省市區(qū)街四級(jí)地址組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue去掉嚴(yán)格開發(fā),去掉vue-cli安裝時(shí)的eslint或修改配置方式
這篇文章主要介紹了vue去掉嚴(yán)格開發(fā),去掉vue-cli安裝時(shí)的eslint或修改配置方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04詳解Vue中Computed與watch的用法與區(qū)別
這篇文章主要介紹了Vue中computed和watch的使用與區(qū)別,文中通過示例為大家進(jìn)行了詳細(xì)講解,對Vue感興趣的同學(xué),可以學(xué)習(xí)一下2022-04-04Vue實(shí)現(xiàn)天氣預(yù)報(bào)功能
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)天氣預(yù)報(bào)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08vite+ts vite.config.ts使用path報(bào)錯(cuò)問題及解決
這篇文章主要介紹了vite+ts vite.config.ts使用path報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10vue實(shí)現(xiàn)按鈕文字動(dòng)態(tài)改變
這篇文章主要介紹了vue實(shí)現(xiàn)按鈕文字動(dòng)態(tài)改變方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11element-ui?table表格底部合計(jì)自定義配置過程
這篇文章主要介紹了element-ui?table表格底部合計(jì)自定義配置過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue在H5 項(xiàng)目中使用融云進(jìn)行實(shí)時(shí)個(gè)人單聊通訊
這篇文章主要介紹了Vue在H5 項(xiàng)目中使用融云進(jìn)行實(shí)時(shí)個(gè)人單聊通訊,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12