更新记录
1.0.0(2026-04-08)
- 初始版本发布
- 实现三级联动地址选择功能
- 添加搜索功能,支持按省市区名称搜索
- 实现弹窗式设计,带有平滑的动画效果
- 支持响应式布局,适配不同屏幕尺寸
- 支持底部安全区域适配
- 使用pca-code.json作为城市数据源
- 优化返回数据结构,只返回省市区的code和name
平台兼容性
uni-app x(3.7.3)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | - | - | 2.10.0 |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
地址选择器插件
带搜索功能的三级联动地址选择器弹窗,支持省市区三级选择。
功能特点
- 三级联动选择:支持省份、城市、区县三级选择
- 搜索功能:支持按名称搜索城市
- 弹窗式设计:底部弹出的选择器,使用体验良好
- 响应式布局:适配不同屏幕尺寸
- 支持uni-app-x:使用uvue格式开发
安装方法
方式一:从插件市场安装
在uni-app插件市场搜索"地址选择器",找到本插件并点击"导入插件"。
方式二:手动安装
- 下载插件代码
- 将
address-picker目录复制到项目的components目录下
使用方法
1. 注册组件
在页面的script部分导入组件:
import AddressPicker from '@/components/address-picker-pro/address-picker-pro.uvue';
2. 在模板中使用
<template>
<view>
<view>{{ addressStr }}</view>
<button @click="showPicker = true">选择地址</button>
<!-- 地址选择器组件 -->
<AddressPicker
:show="showPicker"
@cancel="showPicker = false"
@confirm="handleConfirm"
/>
</view>
</template>
3. 处理事件
<script setup lang="uts">
import { ref } from 'vue';
import AddressPicker from '@/components/address-picker-pro/address-picker-pro.uvue';
const addressStr = ref('');
const showPicker = ref(false);
// 处理确认选择
const handleConfirm = (address) => {
addressStr.value = address.fullAddress;
showPicker.value = false;
console.log('选择的地址:', address);
};
</script>
API
属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| show | Boolean | false | 控制选择器是否显示 |
事件
| 事件 | 说明 | 回调参数 |
|---|---|---|
| cancel | 取消选择 | 无 |
| confirm | 确认选择 | 地址对象,包含province、city、district和fullAddress属性 |
数据结构
确认选择时返回的地址对象结构:
{
province: {
id: "110000",
name: "北京市"
},
city: {
id: "110100",
name: "北京市"
},
district: {
id: "110101",
name: "东城区"
},
fullAddress: "北京市 北京市 东城区"
}
城市数据
城市数据存储在pca-code.json文件中,包含了北京市、上海市和广东省的省市区三级数据。如需添加更多城市数据,请修改此文件。
注意事项
- 本插件使用uni-app-x的uvue格式开发,仅支持uni-app-x项目
- 城市数据需要根据实际需求进行扩展
- 搜索功能仅支持按名称搜索,不支持拼音搜索
版本更新
v1.0.0
- 初始版本
- 实现三级联动地址选择
- 支持搜索功能
- 弹窗式设计

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 1
赞赏 0
下载 11494223
赞赏 1903
赞赏
京公网安备:11010802035340号