Flutter:如何从浮动操作按钮调用小部件状态类的方法

Posted

技术标签:

【中文标题】Flutter:如何从浮动操作按钮调用小部件状态类的方法【英文标题】:Flutter: How to call method of widget's state class from a floating action button 【发布时间】:2021-03-16 18:45:20 【问题描述】:

总的来说,我的脚手架的主体是一个自定义的有状态小部件。这个自定义小部件在其状态类中有一个函数。是否可以从主文件脚手架中的浮动操作按钮调用此函数?

我看不到如何“连接”浮动操作按钮的 onPressed 函数来调用脚手架主体中小部件的状态类内的函数。

【问题讨论】:

嘿,我不认为你应该这样实现 onPressed 方法。您能否提供更多有关您要实现的目标的信息 【参考方案1】:

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

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();
  

希望对您有所帮助!

【讨论】:

以上是关于Flutter:如何从浮动操作按钮调用小部件状态类的方法的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:在浮动操作按钮中使用 appBar 小部件而不是 appBar?

如何从有状态小部件类 Flutter 访问小部件状态

如何从另一个小部件类更新小部件树 - Flutter

Flutter - 无法从父小部件更改子状态

如何从另一个 dart 文件中调用有状态小部件(有表单)方法?- Flutter

Flutter 从相关的小部件类更改状态