1.0.4 • Published 1 month ago

@tanzhenxing/zx-address-edit v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
1 month ago

zx-address-edit 地址编辑

地址编辑组件,用于新建、更新、删除地址信息。

引入

import ZxAddressEdit from '@/components/zx-address-edit/zx-address-edit.vue';

代码演示

基础用法

<template>
  <view>
    <zx-address-edit
      :area-list="areaList" 
      show-delete
      show-set-default
      show-search-result
      :search-result="searchResult"
      :area-columns-placeholder="['请选择', '请选择', '请选择']"
      @save="onSave"
      @delete="onDelete"
      @change-detail="onChangeDetail"
    />
  </view>
</template>

<script setup>
import { ref } from 'vue';

const areaList = ref({
  province_list: {
    110000: '北京市',
    120000: '天津市'
  },
  city_list: {
    110100: '北京市',
    120100: '天津市'
  },
  county_list: {
    110101: '东城区',
    110102: '西城区',
    120101: '和平区',
    120102: '河东区'
  }
});
const searchResult = ref([]);

const onSave = (data) => {
  console.log('save', data);
  uni.showToast({ title: '保存' });
};

const onDelete = (data) => {
  console.log('delete', data);
  uni.showToast({ title: '删除' });
};

const onChangeDetail = (val) => {
  if (val) {
    searchResult.value = [
      {
        name: '黄龙万科中心',
        address: '杭州市西湖区',
      },
    ];
  } else {
    searchResult.value = [];
  }
};
</script>

API

Props

参数说明类型默认值
area-list地区列表Object-
area-columns-placeholder地区选择列占位提示文字String[][]
area-placeholder地区输入框占位提示文字String选择省 / 市 / 区
address-info地址信息初始值Object{}
search-result详细地址搜索结果Array[]
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详细地址输入框行数NumberString1
detail-maxlength详细地址最大长度NumberString200
is-saving是否显示保存按钮加载动画Booleanfalse
is-deleting是否显示删除按钮加载动画Booleanfalse
tel-validator手机号格式校验函数Function-
tel-maxlength手机号最大长度NumberString-
validator自定义校验函数 (key, value) => stringFunction-

Events

事件名说明回调参数
save点击保存按钮时触发info: AddressEditInfo
focus输入框聚焦时触发key: string
change仅 name 和 tel 输入框值改变触发{key: string, value: string}
delete确认删除地址时触发info: AddressEditInfo
select-search选中搜索结果时触发value: AddressEditSearchItem
click-area点击收件地区时触发-
change-area修改收件地区时触发selectedOptions: PickerOption[]
change-detail修改详细地址时触发value: string
change-default切换是否使用默认地址时触发checked: boolean

Slots

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

Methods

通过 ref 可以获取到 AddressEdit 实例并调用实例方法。

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

类型定义

AddressEditInfo

key说明类型
name姓名String
tel手机号String
province省份String
city城市String
county区县String
addressDetail详细地址String
areaCode地区编码,通过 省市区选择 获取(必填)String
isDefault是否为默认地址Boolean

AddressEditSearchItem

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

省市县列表数据格式

请参考 zx-area 组件或 uni-data-picker 的数据格式。