Flutter flatter:如何调用widget的方法&x27;从浮动操作按钮创建状态类
基本上,我的scaffold的主体是一个定制的有状态小部件。此自定义小部件在其状态类中有一个函数。是否可以从主文件的scaffold中的浮动操作按钮调用此函数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
我不知道如何“连接”浮动操作按钮的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方法。你能不能再多告诉我一点你想要达到的目标?我认为你不应该用这种方法来实现。你能再多告诉我一点你想要达到的目标吗