如何从VoidCallback函数返回值

prg.dev

我有一个带有按钮的自定义窗口小部件。我想创建VoidCallback派系以从中返回数据。

onDayPressed: (DateTime date, List<Event> events){
   // I want to return date time to original class when the user changes the date 
}

我尝试这样做但不起作用

onDayPressed: (DateTime date, List<Event> events) => widget.onDayChanged,

//在原始类上

CustomCalender(onDayChanged: (){print("HI");}),

我正在使用这个flutter包

flutter_calendar_carousel

托·马丁·弗奇

如果需要将数据从子级传递到父级,则必须使用Function(T),因为VoidCallback不支持传递数据。请参见下面的代码示例:

// Try adapting this code to work with your code, the principle should be the same.
class MinimalExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      // Notice the variable being passed in the function.
      body: ReturnValueToParent( myNumber: (int) => print(int),),
    );
  }
}

// Specify a Function(DateTime) in your case and adapt it to your problem.
class ReturnValueToParent extends StatelessWidget {
  final Function(int) myNumber;
  const ReturnValueToParent({Key key, this.myNumber}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: RaisedButton(
        // Remember the parameter
        onPressed: () => myNumber(5),
      ),
    );
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章