city_pickers 0.1.27

  • Readme
  • Changelog
  • Example
  • Installing
  • 97

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] 城市选择器, 借鉴点评
  • [ ] 支持拼音等模糊搜索
  • [ ] 加入单元测试

0.1.27 #

  • 解决 getAreaResultByCode 中. 错误赋值导致的bug. #65

0.1.26 #

  • 暴露utils函数接口. 提供 getAreaResultByCode 方法

0.1.25 #

  • 更新文档, hotTags => hotCities

0.1.24 #

  • 解决ios风格的城市选择器, 在自定义顶部按钮状态下的文字溢出问题
  • 为字母定位城市选择器, 增加属性 hotCities (List

0.1.23 #

  • 解决ios风格模拟器. 在某些主题色下, 无法正常显示数据的问题

0.1.22 #

  • 更新最新的城市数据.

0.1.21 #

  • 解决字母级城市选择器, 无法自定义城市数据的问题

0.1.20 #

  • showCityPicker增加isSort属性. 将省份数据是否排序做配置

0.1.19 #

  • 处理代码规范问题

0.1.18 #

  • 解决ios风格城市选择器字体无法自定义的问题
  • 开放ios风格城市选择器, 头部按钮可能会随主题色显示不出的问题, 支持用户自定义头部按钮

0.1.17 #

  • 暴露城市与省份数据到CityPickers上

0.1.16 #

  • 增加 showCitiesSelector 函数方法, 城市级选择器. 支持右侧拼音首字母定位

0.1.15 #

  • 解决使用非标准数据源, 导致的省份数据报错的问题

0.1.14 #

  • 解决用户给出的location不正确, 导致的报错

0.1.13 #

  • 更新文档

0.1.12 #

  • 解决自定义数据源, 报错的问题
  • 加入自定义数据源的Example配置

0.1.10 #

  • 优化当市级无选项时的显示逻辑

0.1.9 #

0.1.3 #

  • 更新readme中的效果图

0.1.2 #

  • 加入省市县三级全屏效果
  • 更新文档介绍
  • 完善ios选择器的参数

0.0.1 #

  • 加入三级联动
  • 支持配置高度
  • 支持初始化地理位置

example/README.md

city_pickers_example #

Demonstrates how to use the city_pickers.

Quick test #

flutter run

Specific app entry point #

flutter run -t lib/main.dart

Getting Started #

For help getting started with Flutter, view the online documentation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  city_pickers: ^0.1.27

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:city_pickers/city_pickers.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
94
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
97
Learn more about scoring.

We analyzed this package on Oct 16, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.5.1
  • pana: 0.12.21
  • Flutter: 1.9.1+hotfix.4

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
lpinyin ^1.0.7 1.0.7
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_colorpicker ^0.2.2