来自另一个类的颤振调用RFlutter警报

来自另一个类的颤振调用RFlutter警报,flutter,Flutter,我使用颤振警报包rflutter_alert 1.1.0,在同一页面上编写相同的代码是否合适。然而,由于许多函数,我的代码在1页上太长了 因此,我尝试将警报函数拆分为另一个dart文件,但得到的错误是 A value of type 'Future<bool>' can't be returned from method 'build' because it has a return type of 'Widget'.dart(return_of_invalid_type) 无法

我使用颤振警报包rflutter_alert 1.1.0,在同一页面上编写相同的代码是否合适。然而,由于许多函数,我的代码在1页上太长了

因此,我尝试将警报函数拆分为另一个dart文件,但得到的错误是

A value of type 'Future<bool>' can't be returned from method 'build' because it has a return type of 'Widget'.dart(return_of_invalid_type)

无法从方法“build”返回类型为“Future”的值,因为它的返回类型为“Widget”。dart(返回类型为无效类型)
如果我这样写

对话省道

import 'package:flutter/material.dart';
import 'package:rflutter_alert/rflutter_alert.dart';

class Dialog extends StatefulWidget {
  @override
  _DialogState createState() => _DialogState();
}

class _DialogState extends State<Dialog> {
  @override
  Widget build(BuildContext context) {
    return Alert(
      context: context,
      type: AlertType.error,
      title: "RFLUTTER ALERT",
      desc: "Flutter testing Testing testing.",
      buttons: [
        DialogButton(
          child: Text(
            "COOL",
            style: TextStyle(color: Colors.white, fontSize: 20),
          ),
          onPressed: () => Navigator.pop(context),
          width: 120,
        )
      ],
    ).show();
  }
}
导入“包装:颤振/材料.省道”;
导入“package:rflutter_alert/rflutter_alert.dart”;
类对话框扩展了StatefulWidget{
@凌驾
_DialogState createState()=>\u DialogState();
}
类_DialogState扩展状态{
@凌驾
小部件构建(构建上下文){
返回警报(
上下文:上下文,
类型:AlertType.error,
标题:“RFLUTTER警报”,
描述:“颤振试验”,
按钮:[
对话框按钮(
子:文本(
“酷”,
样式:TextStyle(颜色:Colors.white,字体大小:20),
),
onPressed:()=>Navigator.pop(上下文),
宽度:120,
)
],
).show();
}
}

当按下按钮时,拆分rFlutter警报代码并调用它的正确方法是什么?

build
需要一个小部件no-ant
alert
,以便调用警报,但内部的代码单击callback(例如按钮)


感谢这项工作,如何使此警报内的下拉按钮更新选择?似乎警报内的状态没有更新,需要关闭并再次打开警报以更新状态最好现在就打开此问题,但作为提示,您必须使用
content
param并将
StatefulWidget
传递给它,然后您可以操作其中的数据。
@override
  Widget build(BuildContext context) {
    return Container(
      child: FlatButton(onPressed: (){
        Alert(
          context: context,
          type: AlertType.error,
          title: "RFLUTTER ALERT",
          desc: "Flutter testing Testing testing.",
          buttons: [
            DialogButton(
              child: Text(
                "COOL",
                style: TextStyle(color: Colors.white, fontSize: 20),
              ),
              onPressed: () => Navigator.pop(context),
              width: 120,
            )
          ],
        ).show();
      }, child: Text("CLICK ME!!")),
    );
}