Vant3 AddressEdit 地址編輯

2021-09-14 11:04 更新

介紹

收貨地址編輯組件,用于新建、更新、刪除收貨地址。

實(shí)例演示

引入

通過(guò)以下方式來(lái)全局注冊(cè)組件,更多注冊(cè)方式請(qǐng)參考組件注冊(cè)。

import { createApp } from 'vue';
import { AddressEdit } from 'vant';

const app = createApp();
app.use(AddressEdit);

代碼演示

基礎(chǔ)用法

<van-address-edit
  :area-list="areaList"
  show-postal
  show-delete
  show-set-default
  show-search-result
  :search-result="searchResult"
  :area-columns-placeholder="['請(qǐng)選擇', '請(qǐng)選擇', '請(qǐng)選擇']"
  @save="onSave"
  @delete="onDelete"
  @change-detail="onChangeDetail"
/>
import { ref } from 'vue';
import { Toast } from 'vant';

export default {
  setup() {
    const searchResult = ref([]);

    const onSave = () => Toast('save');
    const onDelete = () => Toast('delete');
    const onChangeDetail = (val) => {
      if (val) {
        searchResult.value = [
          {
            name: '黃龍萬(wàn)科中心',
            address: '杭州市西湖區(qū)',
          },
        ];
      } else {
        searchResult.value = [];
      }
    };

    return {
      onSave,
      onDelete,
      areaList,
      searchResult,
      onChangeDetail,
    };
  },
};

API

Props

參數(shù) 說(shuō)明 類型 默認(rèn)值
area-list 地區(qū)列表 object -
area-columns-placeholder 地區(qū)選擇列占位提示文字 string[] []
area-placeholder 地區(qū)輸入框占位提示文字 string 選擇省 / 市 / 區(qū)
address-info 收貨人信息初始值 AddressInfo {}
search-result 詳細(xì)地址搜索結(jié)果 SearchResult[] []
show-postal 是否顯示郵政編碼 boolean false
show-delete 是否顯示刪除按鈕 boolean false
show-set-default 是否顯示默認(rèn)地址欄 boolean false
show-search-result 是否顯示搜索結(jié)果 boolean false
show-area 是否顯示地區(qū) boolean true
show-detail 是否顯示詳細(xì)地址 boolean true
disable-area 是否禁用地區(qū)選擇 boolean false
save-button-text 保存按鈕文字 string 保存
delete-button-text 刪除按鈕文字 string 刪除
detail-rows 詳細(xì)地址輸入框行數(shù) number | string 1
detail-maxlength 詳細(xì)地址最大長(zhǎng)度 number | string 200
is-saving 是否顯示保存按鈕加載動(dòng)畫 boolean false
is-deleting 是否顯示刪除按鈕加載動(dòng)畫 boolean false
tel-validator 手機(jī)號(hào)格式校驗(yàn)函數(shù) string => boolean -
tel-maxlength 手機(jī)號(hào)最大長(zhǎng)度 number | string -
postal-validator 郵政編碼格式校驗(yàn)函數(shù) string => boolean -
validator 自定義校驗(yàn)函數(shù) (key, val) => string -

Events

事件名 說(shuō)明 回調(diào)參數(shù)
save 點(diǎn)擊保存按鈕時(shí)觸發(fā) content:表單內(nèi)容
focus 輸入框聚焦時(shí)觸發(fā) key: 聚焦的輸入框?qū)?yīng)的 key
delete 確認(rèn)刪除地址時(shí)觸發(fā) content:表單內(nèi)容
cancel-delete 取消刪除地址時(shí)觸發(fā) content:表單內(nèi)容
select-search 選中搜索結(jié)果時(shí)觸發(fā) value: 搜索結(jié)果
click-area 點(diǎn)擊收件地區(qū)時(shí)觸發(fā) -
change-area 修改收件地區(qū)時(shí)觸發(fā) values: 地區(qū)信息
change-detail 修改詳細(xì)地址時(shí)觸發(fā) value: 詳細(xì)地址內(nèi)容
change-default 切換是否使用默認(rèn)地址時(shí)觸發(fā) value: 是否選中

Slots

名稱 說(shuō)明
default 在郵政編碼下方插入內(nèi)容

方法

通過(guò) ref 可以獲取到 AddressEdit 實(shí)例并調(diào)用實(shí)例方法,詳見組件實(shí)例方法。

方法名 說(shuō)明 參數(shù) 返回值
setAddressDetail 設(shè)置詳細(xì)地址 addressDetail: string -

類型定義

通過(guò) AddressEditInstance 獲取 AddressEdit 實(shí)例的類型定義。

import { ref } from 'vue';
import type { AddressEditInstance } from 'vant';

const addressEditRef = ref<AddressEditInstance>();

addressEditRef.value?.setAddressDetail('');

AddressInfo 數(shù)據(jù)格式

注意:AddressInfo 僅作為初始值傳入,表單最終內(nèi)容可以在 save 事件中獲取。

key 說(shuō)明 類型
name 收貨人姓名 string
tel 收貨人手機(jī)號(hào) string
province 省份 string
city 城市 string
county 區(qū)縣 string
addressDetail 詳細(xì)地址 string
areaCode 地區(qū)編碼,通過(guò) 省市區(qū)選擇 獲?。ū靥睿?/td> string
postalCode 郵政編碼 string
isDefault 是否為默認(rèn)地址 boolean

SearchResult 數(shù)據(jù)格式

key 說(shuō)明 類型
name 地名 string
address 詳細(xì)地址 string

省市縣列表數(shù)據(jù)格式

請(qǐng)參考 Area 組件。

樣式變量

組件提供了下列 CSS 變量,可用于自定義樣式,使用方法請(qǐng)參考 ConfigProvider 組件。

名稱 默認(rèn)值 描述
--van-address-edit-padding var(--van-padding-sm) -
--van-address-edit-buttons-padding var(--van-padding-xl) var(--van-padding-base) -
--van-address-edit-button-margin-bottom var(--van-padding-sm) -
--van-address-edit-button-font-size var(--van-font-size-lg) -
--van-address-edit-detail-finish-color var(--van-primary-color) -
--van-address-edit-detail-finish-font-size var(--van-font-size-sm) -


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)