zoukankan      html  css  js  c++  java
  • flutter block回调

    block回调在oc中很常见,到了flutter中仍然有block回调

    自定义一个StatefulWidget PageTitle

    无参数回调VoidCallback

      VoidCallback onTap;
      PageTitle({Key key,@required this.onTap}):super(key:key);
        
      //在你需要点击的地方传入参数 比如InkWell的ontap事件
        InkWell(
            onTap: ()=>widget.onTap;
        )
    

    有参数回调ValueSetter 比如我要回调一个int变量

      ValueSetter<int> onTap; 
      PageTitle({Key key,@required this.onTap}):super(key:key);
      //在你需要点击的地方传入参数 比如InkWell的ontap事件
        InkWell(
            onTap: (){
                 widget.onTap(index);
                  //你的其他事件处理          
        )
    

    自定义block 建议使用这种方法 这样参数可以设置多个

       //注意 typedef 需要放在class外面
      typedef IndexCallback = void Function(int index);
      IndexCallback<int> onTap; 
      PageTitle({Key key,@required this.onTap}):super(key:key);
      //在你需要点击的地方传入参数 比如InkWell的ontap事件
        InkWell(
            onTap: (){
                 widget.onTap(index);
                  //你的其他事件处理          
        )
    

    使用

    PageTitle(
      onTap:(index){
            print('$index');
        }
    )
    
  • 相关阅读:
    2017.11.20
    第8次
    作业 lianxi
    java 7个练习题
    java 2.15
    java 2.6
    jsp变量和方法的声明
    jsp 基本标签从头练习
    15
    14
  • 原文地址:https://www.cnblogs.com/qqcc1388/p/11389717.html
Copyright © 2011-2022 走看看