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');
    }
)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM