阅读(2168) (0)

Vant AddressEdit 地址编辑

2020-02-05 10:15:05 更新

引入

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

Vue.use(AddressEdit);

代码演示

基础用法

<van-address-edit
  :area-list="areaList"
  show-postal
  show-delete
  show-set-default
  show-search-result
  :search-result="searchResult"
  :area-columns-placeholder="['请选择', '请选择', '请选择']"
  @save="onSave"
  @delete="onDelete"
  @change-detail="onChangeDetail"
/>
import { Toast } from 'vant';

export default {
  data() {
    return {
      areaList,
      searchResult: []
    }
  },
  methods: {
    onSave() {
      Toast('save');
    },
    onDelete() {
      Toast('delete');
    },
    onChangeDetail(val) {
      if (val) {
        this.searchResult = [{
          name: '黄龙万科中心',
          address: '杭州市西湖区'
        }];
      } else {
        this.searchResult = [];
      }
    }
  }
}

API

Props

参数说明类型默认值
area-list地区列表object-
area-columns-placeholder v2.2.5地区选择列占位提示文字string[][]
address-info收货人信息初始值AddressInfo{}
search-result详细地址搜索结果SearchResult[][]
show-postal是否显示邮政编码booleanfalse
show-delete是否显示删除按钮booleanfalse
show-set-default是否显示默认地址栏booleanfalse
show-search-result是否显示搜索结果booleanfalse
save-button-text保存按钮文字string保存
delete-button-text删除按钮文字string删除
detail-rows详细地址输入框行数number | string1
detail-maxlength v2.0.4详细地址最大长度number | string200
is-saving是否显示保存按钮加载动画booleanfalse
is-deleting是否显示删除按钮加载动画booleanfalse
tel-validator手机号格式校验函数string => boolean-
postal-validator v2.1.2邮政编码格式校验函数string => boolean-
validator自定义校验函数(key, val) => string-

Events

事件名说明回调参数
save点击保存按钮时触发content:表单内容
focus输入框聚焦时触发key: 聚焦的输入框对应的 key
delete确认删除地址时触发content:表单内容
cancel-delete取消删除地址时触发content:表单内容
select-search选中搜索结果时触发value: 搜索结果
change-area修改收件地区时触发values: 地区信息
change-detail修改详细地址时触发value: 详细地址内容
change-default切换是否使用默认地址时触发value: 是否选中

Slots

名称说明
default在邮政编码下方插入内容

方法

通过 ref 可以获取到 AddressEdit 实例并调用实例方法,详见 组件实例方法

方法名说明参数返回值
setAddressDetail设置详细地址addressDetail: string-

AddressInfo 数据格式

注意:AddressInfo 仅作为初始值传入,表单最终内容可以在 save 事件中获取

key说明类型
id每条地址的唯一标识number | string
name收货人姓名string
tel收货人手机号string
province省份string
city城市string
county区县string
addressDetail详细地址string
areaCode地区编码,通过省市区选择获取(必填)string
postalCode邮政编码string
isDefault是否为默认地址boolean

SearchResult 数据格式

key说明类型
name地名string
address详细地址string

省市县列表数据格式

请参考 Area 组件。


实例演示