我想创建一个StatefulWidget,以便子代可以使用父代的参数,也可以对其进行更改。
//需要解决以下问题。
import "flutter/material.dart";
Toggle(
builder: (value) => IconButton(
icon: Icon(value ? Icons.add : Icons.minimize),
onPressed: () => value = !value,
),
);
class Toggle extends StatefulWidget{
final bool status;
Widget Function(bool status) builder;
Toggle({Key key, this.status = true, this.builder,}) : super(key: key);
@override _ToggleState createState() => _ToggleState();
}
class _ToggleState extends State<Toggle> {
@override Widget build(BuildContext context) => widget.builder(widget.status);
}
通常,您在父级窗口小部件中创建一个函数来更改父级状态,并将该函数作为道具传递给子级窗口小部件,以便子级可以执行它并改变父级状态。