从父级颤振调用子状态方法

时间:2019-08-31 05:38:16

标签: flutter widget

我有一个带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}}

0 个答案:

没有答案