Skip to content

AddressList 地址列表 - Vant 4

AddressList 地址列表

📋 介紹

地址列表組件讓地址管理變得簡單高效!它能優雅地展示使用者的所有地址資訊,支援選擇、編輯、刪除等操作,為電商應用提供完整的地址管理解決方案。

📦 引入

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

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

🎯 程式碼演示

基礎用法

展示使用者的地址列表,支援選擇預設地址、編輯地址資訊等功能。清晰的佈局讓使用者一目了然!

html
js
import { ref } from'vue'; 
import { showToast } from'vant'; 
export default { setup() { const chosenAddressId = ref('1'); 
const list = [ { id: '1', name: '張三', tel: '13000000000', address: '浙江省杭州市西湖區文三路 138 號東方通信大廈 7 樓 501 室', isDefault: true, }, { id: '2', name: '李四', tel: '1310000000', address: '浙江省杭州市拱墅區莫干山路 50 號', }, ]; 
const disabledList = [ { id: '3', name: '王五', tel: '1320000000', address: '浙江省杭州市濱江區江南大道 15 號', }, ]; 
const onAdd = () => showToast('新增地址'); 
const onEdit = (item, index) => showToast('編輯地址:' + index); 
return { list, onAdd, onEdit, disabledList, chosenAddressId, }; }, };

API

Props

參數說明類型預設值
v-model目前選中地址的 id,支援多選(類型為 []*numberstring
list地址列表AddressListAddress[][]
disabled-list不可配送地址列表AddressListAddress[][]
disabled-text不可配送提示文案string-
switchable是否允許切換地址booleantrue
show-add-button是否顯示底部按鈕booleantrue
add-button-text底部按鈕文字string新增地址
default-tag-text預設地址標籤文字string-
right-icon v4.5.0右側圖示名稱或圖片連結,等同於 Icon 組件的 name 屬性stringedit

Events

事件名說明回調參數
add點擊新增按鈕時觸發-
edit點擊編輯按鈕時觸發item: AddressListAddress, index: number
select切換選中的地址時觸發item: AddressListAddress, index: number
edit-disabled編輯不可配送的地址時觸發item: AddressListAddress, index: number
select-disabled選中不可配送的地址時觸發item: AddressListAddress, index: number
click-item點擊任意地址時觸發item: AddressListAddress, index: number, { event }

AddressListAddress 資料結構

鍵名說明類型
id每條地址的唯一標識*number
name姓名string
tel手機號*number
address詳細地址string
isDefault是否為預設地址boolean

Slots

名稱說明參數
default在列表下方插入內容-
top在頂部插入內容-
item-bottom在列表項底部插入內容item: AddressListAddress
tag自訂列表項標籤內容item: AddressListAddress

類型定義

組件匯出以下類型定義:

ts
importtype { AddressListProps, AddressListAddress } from'vant';

主題定製

樣式變數

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

名稱預設值描述
--van-address-list-paddingvar(--van-padding-sm) var(--van-padding-sm) 80px-
--van-address-list-disabled-text-colorvar(--van-text-color-2)-
--van-address-list-disabled-text-paddingvar(--van-padding-base) * 5 0 var(--van-padding-md)-
--van-address-list-disabled-text-font-sizevar(--van-font-size-md)-
--van-address-list-disabled-text-line-heightvar(--van-line-height-md)-
--van-address-list-add-button-z-index999-
--van-address-list-item-paddingvar(--van-padding-sm)-
--van-address-list-item-text-colorvar(--van-text-color)-
--van-address-list-item-disabled-text-colorvar(--van-text-color-3)-
--van-address-list-item-font-size13px-
--van-address-list-item-line-heightvar(--van-line-height-sm)-
--van-address-list-radio-colorvar(--van-primary-color)-
--van-address-list-edit-icon-size20px-

📝 總結

AddressList 地址列表組件是電商應用中不可或缺的重要組件!它不僅能夠優雅地展示使用者的地址資訊,還提供了完整的地址管理功能。透過簡潔的 API 設計和豐富的自訂選項,你可以輕鬆構建出符合業務需求的地址管理介面。

🎯 核心特性

  • 📋 清晰的地址資訊展示
  • ✅ 靈活的地址選擇機制
  • ✏️ 便捷的編輯和管理功能
  • 🚫 智慧的不可配送地址處理
  • 🎨 豐富的主題定製選項

無論是簡單的地址選擇還是複雜的地址管理場景,AddressList 都能為你提供完美的解決方案!

🔗 相關內容

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