city_pickers

Creator: coderz1093

Last updated:

Add to Cart

Description:

city pickers

Language: English
city_pickers #
中国的城市三级联动选择器
Demo #
demo: https://pmbee.alicdn.com/flutter/city_pickers/index.html


沟通QQ群 #
QQ 群号码: 935915271

开始 #
在flutter的项目文件中增加依赖
dependencies:
...
city_pickers:^1.1.0
copied to clipboard
关于如何运行flutter项目, 参考官方文档documentation.
使用方法 #
简单使用方法
import 'package:city_pickers/city_pickers.dart';
...
// 通过钩子事件, 主动唤起浮层.
Future<Result?> getResult () async {
Result? result = await CityPickers.showFullPageCityPicker(
context: context
);
print('result $a');

// type 1
Result? result = await CityPickers.showCityPicker(
context: context,
);
// type 2
Result? result2 = await CityPickers.showFullPageCityPicker(
context: context,
);

// type 3
Result? result2 = await CityPickers.showCitiesSelector(
context: context,
);
return result;
}
copied to clipboard
CityPickers 静态方法 #



Name
Type
Desc




showCityPicker
Function
呼出弹出层,显示多级选择器


showFullPageCityPicker
Function
呼出一层界面, 显示多级选择器


showCitiesSelector
Function
呼出一层, 显示支持字母定位城市选择器


utils
Function
获取utils接口的钩子



showCityPicker 参数说明 #



Name
Type
Default
Desc




context
BuildContext

上下文对象


theme
ThemeData
Theme.of(context)
主题, 可以自定义


locationCode
String
110000
初始化地址信息, 可以是省, 市, 区的地区码


height
double
300
弹出层的高度, 过高或者过低会导致容器报错


showType
ShowType
ShowType.pca
三级联动, 显示类型


barrierOpacity
double
0.5
弹出层的背景透明度, 应该是大于0, 小于1


barrierDismissible
bool
true
是否可以通过点击弹出层背景, 关闭弹出层


cancelWidget
Widget

用户自定义取消按钮


confirmWidget
Widget

用户自定义确认按钮


itemExtent
double

目标框高度


itemBuilder
Widget

item生成器, function(String value, List


citiesData
Map
城市数据
选择器的城市与区的数据源


provincesData
Map
省份数据
选择器的省份数据源



showFullPageCityPicker 参数说明 #



Name
Type
Default
Desc




context
BuildContext
null
上下文对象


theme
ThemeData
Theme.of(context)
主题, 可以自定义


locationCode
String
110000
初始化地址信息, 可以是省, 市, 区的地区码


showType
ShowType
ShowType.pca
三级联动, 显示类型



|citiesData|Map|城市数据|选择器的城市与区的数据源|
|provincesData|Map|省份数据|选择器的省份数据源|
showCitiesSelector 参数说明 #



Name
Type
Default
Desc




context
BuildContext
null
上下文对象


theme
ThemeData
Theme.of(context)
主题, 可以自定义


locationCode
String
110000
初始化地址信息, 可以是省, 市, 区的地区码


title
String
城市选择器
弹出层界面标题


citiesData
Map
城市数据
选择器的城市与区的数据源


provincesData
Map
省份数据
选择器的省份数据源


hotCities
List<HotCity>
null
热门城市


sideBarStyle
BaseStyle
初始默认样式
右侧字母索引集样式


cityItemStyle
BaseStyle
初始默认样式
城市选项样式


topStickStyle
BaseStyle
初始默认样式
顶部索引吸顶样式


scaffoldBackgroundColor
Colors
Colors.white
页面背景色


useSearchAppBar
bool
false
当AppBarBuilder=null的时候, 控制是否开启搜索框


appBarBuilder
Function
null
用户自定义AppBar



utils 说明 #
utils 是用来封装常用的一些方法, 方便使用者能更好的使用该插件. 使用者通过以下方式声明实例, 可以获取所有的工具类方法
// 声明实例
CityPickerUtil cityPickerUtils = CityPickers.utils();
copied to clipboard
Result getAreaResultByCode(String code)
使用者通过地区ID, 获取所在区域的省市县等相关信息. 当未查询到具体信息. 返回空的Result对象.
print('result>>> ${cityPickerUtils.getAreaResultByCode('100100)}');

// 输出为: result>>>> {"provinceName":"北京市","provinceId":"110000","cityName":"东城区","cityId":"110101"}
copied to clipboard
数据来源 #

国家统计局

贡献者 #



声明 #
本项目Example部份代码与样式, 参考借鉴Flutter Go, flutter go 是flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档
To Do List #

✅ 城市选择器, 借鉴点评
✅ 支持拼音等模糊搜索
❌ 加入单元测试

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.