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

这篇博客介绍了如何在Flutter中创建一个中国城市的三级联动选择器,包括使用的插件、展示的效果图、各项属性详细解析,以及完整的代码示例和演示。
摘要由CSDN通过智能技术生成

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

插件

city_pickers: ^0.1.30 #https://pub.dev/packages/city_pickers/install

效果图

Alt
Alt
Alt
Alt

属性

  • CityPickers 静态方法

showCityPicker           # 呼出弹出层,显示多级选择器
showFullPageCityPicker   # 呼出一层,显示多级选择器
showCitiesSelector 		 # 呼出一层,显示支持字母定位的城市选择器
utils                    # 获取utils接口的钩子
  • showCityPicker 参数说明

    showType = ShowType.pca,  			#三级联动,显示类型
    double height = 400.0,  			# 弹出的高度
    String locationCode = '110000' ,    #初始化地区信息,可以是省、市、区的地区码
    ThemeData theme, 					#主题 可以自定义
    Map<String, dynamic> citiesData, 	#选择器的城市与区的数据源
    Map<String, dynami
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用CupertinoPicker实现二级联动选择器的示例代码,可以在底部弹出: ```dart showModalBottomSheet( context: context, builder: (BuildContext builder) { return Container( height: 250.0, child: Column( children: <Widget>[ Container( height: 200.0, child: CupertinoPicker( itemExtent: 30.0, onSelectedItemChanged: (int index) { //更新选择项时的回调函数 }, children: List<Widget>.generate(2, (int groupIndex) { return Column( children: <Widget>[ Container( height: 30.0, child: Text( 'Group ${groupIndex}', style: TextStyle(fontSize: 16.0), ), ), Expanded( child: CupertinoPicker( itemExtent: 30.0, onSelectedItemChanged: (int index) { //更新选择项时的回调函数 }, children: List<Widget>.generate(5, (int index) { return Center( child: Text('Item ${index}'), ); }), ), ), ], ); }), ), ), Container( height: 50.0, color: Colors.white, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: <Widget>[ FlatButton( onPressed: () { //取消按钮的回调函数 Navigator.pop(context); }, child: Text( 'Cancel', style: TextStyle(color: Colors.red), ), ), FlatButton( onPressed: () { //确定按钮的回调函数 Navigator.pop(context); }, child: Text( 'Done', style: TextStyle(color: Colors.blue), ), ), ], ), ), ], ), ); }, ); ``` 在这个示例中,使用了两个CupertinoPicker来实现二级联动选择器。外层CupertinoPicker用于选择一级选项,内层CupertinoPicker用于选择二级选项。每个CupertinoPicker都使用了generate方法来动态生成选择项的widget。在选择项改变时,可以在onSelectedItemChanged回调函数中进行相应的处理。底部的取消和确定按钮可以使用FlatButton来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值