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

Flutter 颤振从父级调用子状态方法,flutter,widget,Flutter,Widget,我有一个包含appBar的父窗口小部件。在应用程序栏上,我放置了一个保存按钮。现在在父窗口小部件的build(BuildContext)方法中,我调用了一个子窗口小部件,它显示输入字段 当用户在字段中提供一些输入并按下保存按钮时,我想保存子窗口小部件中的数据 所以问题是如何从父窗口小部件调用子窗口小部件的方法 我已经创建了Child的obj,并从父级调用了该方法,但它不起作用,因为函数细节处于Child的状态 家长: class AddRecipe extends StatelessWidget

我有一个包含appBar的父窗口小部件。在应用程序栏上,我放置了一个保存按钮。现在在父窗口小部件的
build(BuildContext)
方法中,我调用了一个子窗口小部件,它显示输入字段

当用户在字段中提供一些输入并按下保存按钮时,我想保存子窗口小部件中的数据

所以问题是如何从父窗口小部件调用子窗口小部件的方法

我已经创建了Child的obj,并从父级调用了该方法,但它不起作用,因为函数细节处于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() {}
}
class AddRecipe扩展了无状态小部件{
添加RecipeInput对象;
作废保存(){
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
行动:[
图标按钮(
图标:图标(
图标。保存
),
onPressed:save,//保存要触发其子对象的操作
)
],
),
主体:容器(
子:列(
儿童:[
Text('添加一个新的食谱来帮助像你这样的美食家!!'),
obj=AddRecipeInput()
],
),
)),
}
子项:

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() {}
}
类AddRecipeInput扩展StatefulWidget{
@凌驾
_AddRecipeInputState createState()=>\u AddRecipeInputState();
}
类_AddRecipeInputState扩展状态{
void prepareAddrecipe(){}
}

如上面的例子所示,我想调用
AddRecipeInput
prepareAddrecipe
,在
save
函数的按下事件中,从
AddRecipe

发布您的代码,因为很难理解您想要做什么achieve@pskink我添加了示例代码最简单的方法是使用
ScopedModel
/
 提供程序
或类似程序包处理您的状态的最佳方法是提供程序。此中间链接将帮助您使用提供程序发布您的代码,因为您很难理解要发布的内容achieve@pskink我已经添加了示例代码最简单的方法是使用
ScopedModel
/
提供程序
或类似的包这是获取ha的最佳方法ndle您的状态是提供程序。此媒体链接将帮助您使用提供程序