city_pickers 0.2.0

Flutter Android iOS

Flutter plugin for city picker, Popups widgets, call by function, support china.

Language: English

city_pickers #

中国的城市三级联动选择器

Demo #

开始 #

在flutter的项目文件中增加依赖

dependencies:
  ...
    city_pickers:^0.0.1

关于如何运行flutter项目, 参考官方文档documentation.

使用方法 #

Import city_pickers.dart

import 'package:city_pickers/city_pickers.dart';

简单使用方法

...
// 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,
);

CityPickers 静态方法 #

NameTypeDesc
showCityPickerFunction呼出弹出层,显示多级选择器
showFullPageCityPickerFunction呼出一层界面, 显示多级选择器
showCitiesSelectorFunction呼出一层, 显示支持字母定位城市选择器
utilsFunction获取utils接口的钩子

showCityPicker 参数说明 #

NameTypeDefaultDesc
contextBuildContext上下文对象
themeThemeDataTheme.of(context)主题, 可以自定义
locationCodeString110000初始化地址信息, 可以是省, 市, 区的地区码
heightdouble300弹出层的高度, 过高或者过低会导致容器报错
showTypeShowTypeShowType.pca三级联动, 显示类型
barrierOpacitydouble0.5弹出层的背景透明度, 应该是大于0, 小于1
barrierDismissiblebooltrue是否可以通过点击弹出层背景, 关闭弹出层
cancelWidgetWidget用户自定义取消按钮
confirmWidgetWidget用户自定义确认按钮
itemExtentdouble目标框高度
itemBuilderWidgetitem生成器, function(String value, List
citiesDataMap城市数据选择器的城市与区的数据源
provincesDataMap省份数据选择器的省份数据源

showFullPageCityPicker 参数说明 #

NameTypeDefaultDesc
contextBuildContextnull上下文对象
themeThemeDataTheme.of(context)主题, 可以自定义
locationCodeString110000初始化地址信息, 可以是省, 市, 区的地区码
showTypeShowTypeShowType.pca三级联动, 显示类型

|citiesData|Map|城市数据|选择器的城市与区的数据源| |provincesData|Map|省份数据|选择器的省份数据源|

showCitiesSelector 参数说明 #

NameTypeDefaultDesc
contextBuildContextnull上下文对象
themeThemeDataTheme.of(context)主题, 可以自定义
locationCodeString110000初始化地址信息, 可以是省, 市, 区的地区码
titleString城市选择器弹出层界面标题
citiesDataMap城市数据选择器的城市与区的数据源
provincesDataMap省份数据选择器的省份数据源
hotCitiesList<HotCity>null热门城市
sideBarStyleBaseStyle初始默认样式右侧字母索引集样式
cityItemStyleBaseStyle初始默认样式城市选项样式
topStickStyleBaseStyle初始默认样式顶部索引吸顶样式

utils 说明 #

utils 是用来封装常用的一些方法, 方便使用者能更好的使用该插件. 使用者通过以下方式声明实例, 可以获取所有的工具类方法

// 声明实例
CityPickerUtil cityPickerUtils = CityPickers.utils();

Result getAreaResultByCode(String code)

使用者通过地区ID, 获取所在区域的省市县等相关信息. 当未查询到具体信息. 返回空的Result对象.

print('result>>> ${cityPickerUtils.getAreaResultByCode('100100)}');

// 输出为: result>>>> {"provinceName":"北京市","provinceId":"110000","cityName":"东城区","cityId":"110101"}

数据来源 #

National Bureau of Statistics

声明 #

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

To Do List #

  • [x] 城市选择器, 借鉴点评
  • [ ] 支持拼音等模糊搜索
  • [ ] 加入单元测试
23
likes
85
pub points
91%
popularity

Flutter plugin for city picker, Popups widgets, call by function, support china.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploader

hanxu317@gmail.com

License

MIT (LICENSE)

Dependencies

flutter, lpinyin

More

Packages that depend on city_pickers