我有一个带appBar的Parent小部件。在appBar上,我放置了一个保存按钮。现在,在“父”窗口小部件的build(BuildContext context)
方法中,我称为子窗口小部件,其中显示了输入字段
当用户在字段中提供一些输入并按保存按钮时,我要保存子控件中的数据。
所以问题是如何从父Widget调用子方法。
我已经创建了Child的obj并从Parent调用了该方法,但是由于函数的详细信息处于child的状态,所以它不起作用
父母:
class AddRecipe extends StatelessWidget {
AddRecipeInput obj;
void save() {
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
actions: <Widget>[
IconButton(
icon: Icon(
Icons.save
),
onPressed: save, // Save action on which i want to trigger child
)
],
),
body: Container(
child: Column(
children: <Widget>[
Text('Add a new recipe to help other foodies like you!!'),
obj = AddRecipeInput()
],
),
)),
}
孩子:
class AddRecipeInput extends StatefulWidget {
@override
_AddRecipeInputState createState() => _AddRecipeInputState();
}
class _AddRecipeInputState extends State<AddRecipeInput> {
void prepareAddrecipe() {}
}
如上面的示例所示,我想在prepareAddrecipe
的{{1}}函数的按下事件上调用AddRecipeInput
的{{1}}