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'; exportdefault { 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 号', }, ]; constonAdd = () => showToast('新增地址'); constonEdit = (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构建的企业级移动端解决方案