Change parent variable and rebuild parent widget when child widget changes Flutter Change parent variable and rebuild parent widget when child widget changes Flutter dart dart

Change parent variable and rebuild parent widget when child widget changes Flutter


You can create a filed in your CustomWidget onFlatButtonPressed. The field will be a Callback Function or VoidCallBack then call the function when the flat button is pressed in your CustomWidget and define the function in your **MyScreen*

Like this

class MyScreen extends StatefulWidget {  @override  _MyScreenState createState() => _MyScreenState();}class _MyScreenState extends State<MyScreen> {  bool isChildButtonPressed = false;  @override  Widget build(BuildContext context) {    return Container(      child: MyCustomWidget(        onFlatButtonPressed: (){          setState(() {            //Write what you want to do here          });        },      ),    );  }}class MyCustomWidget extends StatefulWidget {  final VoidCallback onFlatButtonPressed;  MyCustomWidget({@required this.onFlatButtonPressed});  @override  _MyCustomWidget createState() => _MyCustomWidget();}class _MyCustomWidget extends State<MyCustomWidget> {  @override  Widget build(BuildContext context) {    return Container(      width: 200,      height: 200,      child: Row(        children: [          FlatButton(child: Text("I am child button"), onPressed: widget.onFlatButtonPressed),        ],      ),    );  }}