为自定义小部件创建一个事件(如点击)

Par*_*ani 3 flutter

我正在创建我正在使用的自定义小部件,RaisedButton 我想将onTap事件从RaisedButton父小部件导出。我怎样才能做到这一点?

Cop*_*oad 9

// your custom widget
class MyCustomWidget extends StatefulWidget {
  final VoidCallback onTap;

  const MyCustomWidget({Key key, this.onTap}) : super(key: key);

  @override
  _MyCustomWidgetState createState() => _MyCustomWidgetState();
}

class _MyCustomWidgetState extends State<MyCustomWidget> {
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      onPressed: widget.onTap, // this is called in child 
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

在父级中使用它,例如:

MyCustomWidget(
  onTap: () {}, // when this is tapped in parent
);
Run Code Online (Sandbox Code Playgroud)