Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter flatter:如何调用widget的方法&x27;从浮动操作按钮创建状态类_Flutter_Dart_State_State Management - Fatal编程技术网

Flutter flatter:如何调用widget的方法&x27;从浮动操作按钮创建状态类

Flutter flatter:如何调用widget的方法&x27;从浮动操作按钮创建状态类,flutter,dart,state,state-management,Flutter,Dart,State,State Management,基本上,我的scaffold的主体是一个定制的有状态小部件。此自定义小部件在其状态类中有一个函数。是否可以从主文件的scaffold中的浮动操作按钮调用此函数 我不知道如何“连接”浮动操作按钮的onPressed函数来调用scaffold主体中小部件的state类中的函数。您可以像这样使用函数回调 class Screen extends StatefulWidget { Screen({Key key}) : super(key: key); @override _ScreenS

基本上,我的scaffold的主体是一个定制的有状态小部件。此自定义小部件在其状态类中有一个函数。是否可以从主文件的scaffold中的浮动操作按钮调用此函数


我不知道如何“连接”浮动操作按钮的onPressed函数来调用scaffold主体中小部件的state类中的函数。

您可以像这样使用函数回调

class Screen extends StatefulWidget {
  Screen({Key key}) : super(key: key);

  @override
  _ScreenState createState() => _ScreenState(methodCaller: myMethod);

  String myMethod(int value) {
    return 'example';
  }
}

class _ScreenState extends State<Screen> {
  final String Function(int value) methodCaller;

  _ScreenState({this.methodCaller});
  @override
  Widget build(BuildContext context) {
    var value = methodCaller(12);
    return Container();
  }
}
类屏幕扩展StatefulWidget{
屏幕({Key}):超级(Key:Key);
@凌驾
_ScreenState createState()=>\u ScreenState(方法调用方:myMethod);
字符串myMethod(int值){
返回“示例”;
}
}
类_ScreenState扩展了状态{
最终字符串函数(int值)methodCaller;
_屏幕状态({this.methodCaller});
@凌驾
小部件构建(构建上下文){
var值=methodCaller(12);
返回容器();
}
}

希望这是有帮助的

您可以像这样使用函数回调

class Screen extends StatefulWidget {
  Screen({Key key}) : super(key: key);

  @override
  _ScreenState createState() => _ScreenState(methodCaller: myMethod);

  String myMethod(int value) {
    return 'example';
  }
}

class _ScreenState extends State<Screen> {
  final String Function(int value) methodCaller;

  _ScreenState({this.methodCaller});
  @override
  Widget build(BuildContext context) {
    var value = methodCaller(12);
    return Container();
  }
}
类屏幕扩展StatefulWidget{
屏幕({Key}):超级(Key:Key);
@凌驾
_ScreenState createState()=>\u ScreenState(方法调用方:myMethod);
字符串myMethod(int值){
返回“示例”;
}
}
类_ScreenState扩展了状态{
最终字符串函数(int值)methodCaller;
_屏幕状态({this.methodCaller});
@凌驾
小部件构建(构建上下文){
var值=methodCaller(12);
返回容器();
}
}

希望这是有帮助的

嘿,我不认为你应该这样实现onPressed方法。你能不能再多告诉我一点你想要达到的目标?我认为你不应该用这种方法来实现。你能再多告诉我一点你想要达到的目标吗