更新记录
1.0.0(2026-02-10)
下载此版本
高性能国家选择器组件,支持搜索、CDN SVG图标
平台兼容性
uni-app(4.0)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
- |
√ |
√ |
√ |
- |
√ |
√ |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| √ |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
其他
df-country-select
高性能国家/地区选择器组件,使用CDN加载SVG国旗图标。
特性
- ✅ 轻量级,无本地图片资源
- ✅ 支持250+国家/地区
- ✅ 实时搜索过滤
- ✅ 支持本地化名称显示
- ✅ CDN加载SVG图标,清晰度高
- ✅ 流畅的动画效果
基础用法
<template>
<view>
<df-country-select v-model="countryCode" />
</view>
</template>
<script>
export default {
data() {
return {
countryCode: '86'
}
}
}
</script>
Props
| 参数 |
说明 |
类型 |
默认值 |
| value |
v-model绑定值,区号 |
String/Number |
- |
| defaultCountryCode |
默认国家代码 |
String |
'CN' |
| showFlag |
是否显示国旗 |
Boolean |
true |
| showCode |
是否显示区号 |
Boolean |
true |
| showName |
是否显示国家名称 |
Boolean |
false |
| enableSearch |
是否启用搜索 |
Boolean |
true |
| title |
弹窗标题 |
String |
'选择国家/地区' |
| closeText |
关闭按钮文字 |
String |
'关闭' |
| searchPlaceholder |
搜索框占位符 |
String |
'搜索国家/地区' |
| emptyText |
空状态提示 |
String |
'未找到匹配的国家/地区' |
| height |
弹窗高度 |
String |
'70vh' |
| maskClosable |
点击遮罩是否关闭 |
Boolean |
true |
| pickerStyle |
选择器自定义样式 |
Object |
{} |
| cdnBaseUrl |
CDN基础URL |
String |
'https://flagicons.lipis.dev/flags/4x3' |
Events
| 事件名 |
说明 |
回调参数 |
| input |
值改变时触发 |
当前区号 |
| change |
选择变化时触发 |
国家对象 {name, dial_code, code, localName} |
使用示例
<template>
<view class="container">
<!-- 完整显示 -->
<df-country-select
v-model="countryCode"
:show-flag="true"
:show-code="true"
:show-name="true"
/>
<!-- 仅显示区号 -->
<df-country-select
v-model="countryCode"
:show-flag="false"
:show-code="true"
/>
<!-- 仅显示国旗和区号 -->
<df-country-select
v-model="countryCode"
:show-flag="true"
:show-code="true"
:show-name="false"
/>
</view>
</template>
注意事项
- SVG图标从CDN加载,需要网络连接
- 如需离线使用,请下载SVG文件到本地并修改cdnBaseUrl
- 小程序环境可能需要配置downloadFile域名
平台支持
- H5
- App (iOS/Android)
- 微信小程序(需配置网络域名)