zoukankan      html  css  js  c++  java
  • 城市选择选择 / 三级联动

    1.

    city_pickers: ^0.1.9
    

      

    import 'package:city_pickers/city_pickers.dart';
    

    2. 

    class TabsPage extends StatefulWidget{
      @override
      _TabsPageState createState() => new _TabsPageState();
    }
    
    class _TabsPageState extends State<TabsPage> with SingleTickerProviderStateMixin{
      TabController _tabController;
      String cityName;
    
      //初始化,一加载便会触发该方法
      void initState(){
        cityName='杭州';
        super.initState();
        _tabController = new TabController(
          vsync: this,
          length: 2,
        );
      }
    
    Widget build(BuildContext context){
        //初始化
        ScreenUtil.instance = ScreenUtil( 750, height: 1334)..init(context);
        return DefaultTabController(
          length: 2,
          child: Scaffold(
            appBar: appBar(),
          ),
        );
      }
         
          Widget appBar(){
        return AppBar(
           centerTitle: true,
            leading: Builder(
                builder: (context) => GestureDetector(
                  child: Padding(
                    padding: EdgeInsets.all(8.0),
                    child: IconButton(
                      icon: Icon(Icons.person),
                      onPressed: null,
                    )
                  ),
                  onTap: () => Scaffold.of(context).openDrawer(),
                ),
              ),
    
            title: Container(
              child:  FlatButton(
                // color: Colors.yellow,
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Text(
                      '$cityName',
                      style: TextStyle(
                        color: Colors.black,
                        fontSize: ScreenUtil.getInstance().setSp(30)
                      ),
                      textAlign: TextAlign.left,
                    ),
                    IconButton(
                      alignment: Alignment.centerLeft,
                      icon: Icon(
                        Icons.arrow_drop_down, 
                        color: Color.fromRGBO(46, 48, 56, 1),
                      ),
                      onPressed: (){
                        debugPrint('down');
                      },
                    )
                  ],
                ),
                onPressed: (){
                  show(context);
                },
              ),
            ),
          );
      }
    
      //调用三级联动
      show(BuildContext context) async {
        //Result result = await CityPickers.showCityPicker(
          //context: context,
        //);
      
      //城市列表
       Result result = await CityPickers.showCitiesSelector(
        context: context,
       );

    print(result); setState(() { this.cityName = result.cityName; }); } }

      

      

  • 相关阅读:
    BZOJ 3684 大朋友和多叉树
    Loj #2495. 「AHOI / HNOI2018」转盘
    Loj #2494. 「AHOI / HNOI2018」寻宝游戏
    Loj 2320.「清华集训 2017」生成树计数
    SQL Server 权限管理
    微信和支付宝支付模式详解及实现(.Net标准库)- OSS开源系列
    跨站请求伪造(CSRF)
    require.js入门
    C#中禁止跨线程直接访问控件
    Video.js web视频播放器
  • 原文地址:https://www.cnblogs.com/xhrr/p/11425608.html
Copyright © 2011-2022 走看看