W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
省市區(qū)三級聯動選擇,通常與 彈出層 組件配合使用
import Vue from 'vue';
import { Area } from 'vant';
Vue.use(Area);
要初始化一個Area組件,你需要傳入一個area-list屬性,數據格式具體可看下面數據格式章節(jié)
<van-area :area-list="areaList" />
如果想選中某個省市區(qū),需要傳入一個value屬性,綁定對應的省市區(qū)code
<van-area :area-list="areaList" value="110101" />
可以通過columns-num屬性配置省市區(qū)顯示的列數,默認情況下會顯示省市區(qū),當你設置為2,則只會顯示省市選擇
<van-area :area-list="areaList" :columns-num="2" title="標題" />
可以通過columns-placeholder屬性配置每一列的占位提示文字
<van-area
:area-list="areaList"
:columns-placeholder="['請選擇', '請選擇', '請選擇']"
title="標題"
/>
參數 | 說明 | 類型 | 默認值 |
---|---|---|---|
value | 當前選中的省市區(qū)code | string | - |
title | 頂部欄標題 | string | - |
confirm-button-text | 確認按鈕文字 | string | 確認 |
cancel-button-text | 取消按鈕文字 | string | 取消 |
area-list | 省市區(qū)數據,格式見下方 | object | - |
columns-placeholder v2.2.5 | 列占位提示文字 | string[] | [] |
loading | 是否顯示加載狀態(tài) | boolean | false |
item-height | 選項高度 | number | string | 44 |
columns-num | 顯示列數,3-省市區(qū),2-省市,1-省 | number | string | 3 |
visible-item-count | 可見的選項個數 | number | string | 5 |
swipe-duration v2.2.13 | 快速滑動時慣性滾動的時長,單位ms | number | string | 1000 |
is-oversea-code v2.1.4 | 根據code 校驗海外地址,海外地址會劃分至單獨的分類 | () => boolean | - |
事件 | 說明 | 回調參數 |
---|---|---|
confirm | 點擊右上方完成按鈕 | 一個數組參數,具體格式看下方數據格式章節(jié) |
cancel | 點擊取消按鈕時 | - |
change | 選項改變時觸發(fā) | Picker 實例,所有列選中值,當前列對應的索引 |
通過 ref 可以獲取到 Area 實例并調用實例方法,詳見 組件實例方法
方法名 | 說明 | 參數 | 返回值 |
---|---|---|---|
reset | 根據 code 重置所有選項,若不傳 code,則重置到第一項 | code?: string | - |
整體是一個 object,包含 province_list, city_list, county_list 三個 key。
每項以省市區(qū)編碼作為 key,省市區(qū)名字作為 value。編碼為 6 位數字,前兩位代表省份,中間兩位代表城市,后兩位代表區(qū)縣,以 0 補足 6 位。如北京編碼為 11,以零補足 6 位,為 110000。
AreaList具體格式如下:
{
province_list: {
110000: '北京市',
120000: '天津市'
},
city_list: {
110100: '北京市',
110200: '縣',
120100: '天津市',
120200: '縣'
},
county_list: {
110101: '東城區(qū)',
110102: '西城區(qū)',
110105: '朝陽區(qū)',
110106: '豐臺區(qū)'
120101: '和平區(qū)',
120102: '河東區(qū)',
120103: '河西區(qū)',
120104: '南開區(qū)',
120105: '河北區(qū)',
// ....
}
}
完整數據見 Area.json
返回的數據整體為一個數組,數組內包含 columnsNum 個數據, 每個數據對應一列選項中被選中的數據。
code 代表被選中的地區(qū)編碼, name 代表被選中的地區(qū)名稱
[
{
code: '110000',
name: '北京市'
},
{
code: '110100',
name: '北京市'
},
{
code: '110101',
name: '東城區(qū)'
}
];
參見在桌面端使用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: