Flutter CallBack传值小例子

大家都知道回调方法在父子Widget之间传值是非常有用的,特别是用于子Widget向父Widget传值,接下来我们就看下具体做法.

1.先定义一个子Widget,为了方便我们暂时用StatelessWidget

class CallBackTestWidget extends StatelessWidget{
  CallBackTestWidget({
    Key key,
  }):super(key:key);
...此处省略多余代码
}

2.定义一个回调函数类型

typedef clickCallback = void Function(String value);

3.将回调函数透出子Widget

  CallBackTestWidget({
    Key key,
    this. onClick,
  }):super(key:key);
  final clickCallback onClick;

4.子Widget中按钮的点击函数

  void onClicked(){
    this. onClick('传的参数');
  }

5.子Widget按钮点击调用函数

@override
  Widget build(BuildContext context) {
    // TODO: implement build
    return InkWell(
      child: Container(
        width: 60,
        child:Text(
             '测试',
             style: TextStyle(
                fontSize: 16,
                color: Color(0xff333333)
             ),
           ) ,
      ),
      onTap: onClicked,
    );
  }

6.父组件中调用

CallBackTestWidget(
     onPressed:(value){
         print("子Widget回调函数传值:$value");
     }
)

至此子组件透给父组件的回调函数已经构造完成

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先,在Flutter中几乎所有的对象都是一个Widget。跟原生开发中的“控件”不同,Flutter中的Widg...
    沉江小鱼阅读 2,140评论 0 2
  • 原文在此,此处只为学习 Widget与ElementWidget主要接口Stateless WidgetState...
    lltree阅读 4,537评论 0 1
  • 1.前言 本文涵盖了Widget,State,BuildContext,InheritedWidget等术语的相关...
    巧巧的二表哥阅读 2,638评论 0 5
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,571评论 0 17
  • 文/满 小王子的故事,真实而可爱,充满梦想,善良,单纯,又丰富的情感。 《小王子》是法国作家安托万·德·圣·埃克苏...
    满1018阅读 212评论 0 2