Skip to content

AddressEdit 地址編輯 - Vant 4

AddressEdit 地址編輯

📍 介紹

地址編輯組件是電商應用的必備工具!它提供完整的地址管理功能,支援新建、更新、刪除地址資訊。無論是收貨地址、發票地址還是其他地址資訊,都能輕鬆搞定,讓使用者享受便捷的地址管理體驗。

📦 引入

透過以下方式來全域註冊組件,更多註冊方式請參考組件註冊

js
import { createApp } from'vue'; import { AddressEdit } from'vant'; const app = createApp(); app.use(AddressEdit);

🎯 程式碼演示

基礎用法

簡單幾行程式碼,就能擁有功能完整的地址編輯表單!支援省市區選擇、詳細地址輸入、聯絡人資訊等。

html
js
import { ref } from'vue'; import { showToast } from'vant'; exportdefault { setup() { const searchResult = ref([]); constonSave = () => showToast('save'); constonDelete = () => showToast('delete'); constonChangeDetail = (val) => { if (val) { searchResult.value = [ { name: '黃龍萬科中心', address: '杭州市西湖區', }, ]; } else { searchResult.value = []; } }; return { onSave, onDelete, areaList, searchResult, onChangeDetail, }; }, };

API

Props

參數說明類型預設值
area-list地區列表object-
area-columns-placeholder地區選擇列佔位提示文字string[][]
area-placeholder地區輸入框佔位提示文字string選擇省 / 市 / 區
address-info地址資訊初始值AddressEditInfo{}
search-result詳細地址搜尋結果AddressEditSearchItem[][]
show-delete是否顯示刪除按鈕booleanfalse
show-set-default是否顯示預設地址欄booleanfalse
show-search-result是否顯示搜尋結果booleanfalse
show-area是否顯示地區booleantrue
show-detail是否顯示詳細地址booleantrue
disable-area是否禁用地區選擇booleanfalse
save-button-text儲存按鈕文字string儲存
delete-button-text刪除按鈕文字string刪除
detail-rows詳細地址輸入框行數*numberstring*
detail-maxlength詳細地址最大長度*numberstring*
is-saving是否顯示儲存按鈕載入動畫booleanfalse
is-deleting是否顯示刪除按鈕載入動畫booleanfalse
tel-validator手機號格式校驗函數(val: string) => boolean-
tel-maxlength手機號最大長度*numberstring*
validator自訂校驗函數(key: string, val: string) => string-

Events

事件名說明回調參數
save點擊儲存按鈕時觸發info: AddressEditInfo
focus輸入框聚焦時觸發key: string
change v4.7.0nametel 輸入框值改變觸發{key: string, value: string}
delete確認刪除地址時觸發info: AddressEditInfo
select-search選中搜尋結果時觸發value: string
click-area點擊收件地區時觸發-
change-area修改收件地區時觸發selectedOptions: PickerOption[]
change-detail修改詳細地址時觸發value: string
change-default切換是否使用預設地址時觸發checked: boolean

Slots

名稱說明
default在郵政編碼下方插入內容

方法

透過 ref 可以獲取到 AddressEdit 實例並呼叫實例方法,詳見組件實例方法

方法名說明參數回傳值
setAddressDetail設定詳細地址addressDetail: string-
setAreaCode設定地區編號code: string-

類型定義

組件匯出以下類型定義:

ts
importtype { AddressEditInfo, AddressEditProps, AddressEditInstance, AddressEditSearchItem, } from'vant';

AddressEditInstance 是組件實例的類型,用法如下:

ts
import { ref } from'vue'; importtype { AddressEditInstance } from'vant'; const addressEditRef = ref<AddressEditInstance>(); addressEditRef.value?.setAddressDetail('');

AddressEditInfo 資料格式

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

key說明類型
name姓名string
tel手機號string
province省份string
city城市string
county區縣string
addressDetail詳細地址string
areaCode地區編碼,透過 省市區選擇 獲取(必填)string

| isDefault | 是否為預設地址 | boolean |

AddressEditSearchItem 資料格式

key說明類型
name地名string
address詳細地址string

省市縣列表資料格式

請參考 Area 省市區選擇 組件。

主題定製

樣式變數

組件提供了下列 CSS 變數,可用於自訂樣式,使用方法請參考 ConfigProvider 組件

名稱預設值描述
--van-address-edit-paddingvar(--van-padding-sm)-
--van-address-edit-buttons-paddingvar(--van-padding-xl) var(--van-padding-base)-
--van-address-edit-button-margin-bottomvar(--van-padding-sm)-
--van-address-edit-button-font-sizevar(--van-font-size-lg)-

🎉 總結

AddressEdit 地址編輯組件是電商應用的得力助手!它提供了完整的地址管理解決方案,從省市區選擇到詳細地址輸入,從聯絡人資訊到預設地址設定,一應俱全。無論是新建地址還是編輯現有地址,都能為使用者提供流暢便捷的操作體驗。

📚 相關內容

想要了解更多?這些內容可能對你有幫助:

基於Vant構建的企業級移動端解決方案