更新记录

1.0.0(2026-10-14) 下载此版本

1.0.0 首发版:内置最新行政区划数据,支持省市区三级/二级自由切换、拼音及汉字智能检索、热门城市快捷标签与GPS定位回显。


平台兼容性

uni-app(3.8.5)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
√ √ √ √ √ √ √ √ √
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ √ √ √ √ √ √ √ √ √ √

高性能省市区城市级联选择器 (fant-city-picker)

全网最丝滑、功能最完善的 uni-app 跨端省市区 / 城市选择组件。支持省市区三级联动、省市二级联动、热门城市、拼音模糊搜索与 GPS 一键定位。


🌟 核心特色与优势

  1. 全端 100% 深度兼容:微信小程序、支付宝小程序、抖音小程序、App (Android / iOS)、H5 全端完美适配,零依赖第三方原生 SDK。
  2. 多模式合一:
    • 省市区三级 / 二级自由切换;
    • 拼音与汉字模糊搜索(如输入 hangzhou 或 杭州 自动智能检索定位);
    • 热门城市快捷标签(北上广深杭等一键直达);
    • GPS 定位快速回显;
  3. 性能极致流畅:基于 picker-view 原生级联优化,数据轻量经过压缩字典处理,杜绝几千条数据造成的卡顿白屏。
  4. 符合 uni_modules 规范:开箱即用,无需配置复杂的插件安装流程。

🚀 快速上手

1. 导入插件

在 HBuilderX 插件市场点击导入,或者将 fant-city-picker 放置在项目根目录的 uni_modules/fant-city-picker。

2. 在页面中使用

<template>
  <view class="container">
    <button type="primary" @click="openPicker">点击选择省市区</button>

    <view v-if="selectedAddress" class="result-box">
      <text>当前选中:{{ selectedAddress.fullAddress }}</text>
      <text>行政代码:{{ selectedAddress.areaCode }}</text>
    </view>

    <!-- 城市选择器组件 -->
    <fant-city-picker
      ref="cityPicker"
      title="请选择收货地址"
      :column-count="3"
      :show-search="true"
      :show-hot="true"
      :show-location="true"
      @confirm="onCityConfirm"
    />
  </view>
</template>

<script>
export default {
  data() {
    return {
      selectedAddress: null
    };
  },
  methods: {
    openPicker() {
      this.$refs.cityPicker.open();
    },
    onCityConfirm(e) {
      console.log('用户选择的城市数据:', e);
      this.selectedAddress = e;
      uni.showToast({
        title: `已选择: ${e.city}`,
        icon: 'success'
      });
    }
  }
};
</script>

📖 API 属性与配置

Props 参数说明

属性名 类型 默认值 说明
title String '选择所在地区' 弹窗顶部居中标题
columnCount Number 3 联动列数:2 为省市二级,3 为省市区县三级
showSearch Boolean true 是否开启顶部拼音/汉字搜索栏
showHot Boolean true 是否展示北上广深杭等热门城市快捷选择标签
showLocation Boolean true 是否开启一键 GPS 自动定位当前城市
maskClosable Boolean true 点击半透明遮罩背景是否允许关闭弹窗

Events 事件说明

事件名 参数 说明
@confirm (res: CityResult) => void 用户点击“确定”或从热门/搜索中选中城市时触发
@close () => void 弹窗关闭时触发

Confirm 返回数据格式 (CityResult)

{
  "province": "浙江省",
  "provinceCode": "330000",
  "city": "杭州市",
  "cityCode": "330100",
  "area": "西湖区",
  "areaCode": "330106",
  "fullAddress": "浙江省 杭州市 西湖区"
}

兼容性测试

  • ✅ 微信小程序 / 支付宝小程序 / 抖音小程序
  • ✅ App (Android / iOS)
  • ✅ Web / H5 / 移动端浏览器

隐私、权限声明

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

无

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

本插件不采集任何数据

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

无

许可协议

MIT协议

暂无用户评论。