更新记录

1.2.0(2024-11-27) 下载此版本

支持加载自定义json,请参考文档

1.1.1(2024-11-20) 下载此版本

禁用组件默认输入框

1.1.0(2024-11-19) 下载此版本

新增支持vue2, 新增台湾省、香港特别行政区、澳门特别行政区

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

功能介绍

  • 多端支持 (小程序,h5, app)
  • 多种双向绑定(区域编码,区域名称)
  • 支持返回区域编码、区域名称
  • 支持加载自定义地址json内容

使用方法

  1. 点击右上角的 使用 HBuilder X 导入插件 按钮直接导入项目或点击 下载插件 ZIP 按钮下载插件包并解压到项目的 uni_modules 目录下

  2. 在需要用到该组件的页面中添加

    <template>
      <sh-address @change="change" v-model="data"> </sh-address>
    </template>
    
    <script>
      export default {
         data() {
            return {
               data: ['四川省', '成都市', '青羊区']
            }
         }
         methods: {
            change(addressInfo) {
               console.log('选择了--->', addressInfo)
            }
         }
      }
    </script>
    <!-- 自定义加载json文件 -->
    <!-- 注意: 使用loadJson时 请注释源码中utils文件夹下的address.json文件 并删除源码中注释可删除的位置 以减小代码体积 -->
    <template>
      <sh-address :loadJson="loadAddress" @change="change" v-model="data"> </sh-address>
    </template>
    
    <script>
      export default {
         data() {
            return {
               data: ['四川省', '成都市', '青羊区']
            }
         }
         methods: {
            change(addressInfo) {
               console.log('选择了--->', addressInfo)
            },
            loadAddress() {
               // 模拟异步加载json数据
               return new Promise(resolve => {
                  setTimeout(() => {
                     resolve(address)
                  }, 4000);
               })
            }
         }
      }
    </script>

组件属性

属性名 类型 默认值 描述
modelValue/v-model Array [] 双向绑定,一个数组从下标0开始分别填写省、市、区名称
v-model:codeValue Array [] 双向绑定,一个数组从下标0开始分别填写省、市、区编码(注意:同时绑定modelValue时此属性会依照modelValue来更新所选择的内容,此时v-model:codeValue双向绑定仍然生效)
disabled Boolean false 是否禁用(快手小程序不支持)
selectIndex Array [0,0,0] selectIndex每一项的值表示选择了 range 对应项中的第几个(下标从 0 开始)
loadJson () => Promise<Array<AddressObj>> 加载自定义json,需要传入一个返回Promise的函数,AddressObj类型参考下表

AddressObj类型

属性 类型 必填
code String
name String
child Array<AddressObj>

事件

事件名称 类型 描述
cancel EventHandle 用户点击取消时回调
change EventHandle 用户点击确认按钮触发该事件,event = {areaCode: string,area: string,cityCode: string,provinceCode: string,province: string,city: string}
columnchange EventHandle 某一列的值改变时触发 columnchange 事件,event = {column: number, value: number},column 的值表示改变了第几列(下标从0开始),value 的值表示变更值的下标

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问