更新记录
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 |
城市子节点 |
说明
安装
协议
MIT