更新记录

1.0.0(2026-01-20) 下载此版本

城市级联选择器 初始版本


平台兼容性

uni-app(4.87)

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

city-data-picker

带城市搜索功能的级联选择器 城市选择器 兼容H5和小程序

快速开始

<script setup>
import { ref, computed } from 'vue'

const data = ref([
    {
        "name": "北京市",
        "id": "11",
        "children": [
            {
                "name": "市辖区",
                "id": "1101",
                "children": [
                    {
                        "name": "东城区",
                        "id": "110101"
                    },
                    {
                        "name": "西城区",
                        "id": "110102"
                    }
                ]
            }
        ]
    },
    {
        "name": "天津市",
        "id": "12",
        "children": [
            {
                "name": "市辖区",
                "id": "1201",
                "children": [
                    {
                        "name": "和平区",
                        "id": "120101"
                    },
                    {
                        "name": "河东区",
                        "id": "120102"
                    }
                ]
            }
        ]
    }
])
const show = ref(false)

const cityList = ref([])
const cityText = computed(() => {
  return cityList.value.map((item) => item.name).join(' / ')
})

const handleSelectCity = (city) => {
    console.log(city, 'handleSelectCity')
    cityList.value.push(city)
}

</script>

<template>
    <view>
        <button @click="show = true">打开城市选择器</button>
        <text>{{ cityText }}</text>
        <city-data-picker :data="data" v-model:show="show" @selectCity="handleSelectCity" />
    </view>
</template>

Props

参数 说明 类型 默认值
title 选择器的标题 String 请选择城市
searchText 搜索框的提示词 String 请输入城市名称
data 选择器的数据 Array 空数组
show 控制选择器显示和隐藏 Boolean false

事件

事件名 说明 回调参数
update:show 控制选择器显示和隐藏 Boolean
selectCity 选择器列表点击选中的项 Object

数据格式

{
    "name": "北京市",
    "id": "11",
    "children": [
        {
            "name": "市辖区",
            "id": "1101",
            "children": [
                {
                    "name": "东城区",
                    "id": "110101"
                },
                {
                    "name": "西城区",
                    "id": "110102"
                }
            ]
        }
    ]
}
参数 说明
name 城市名
id 城市编号
children 城市子节点

说明

安装

  • 支持uni_modules,一键式安装

协议

MIT

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。