使用子项的ShowDialog是否已被弃用如何以其他方式使用它?

Mis*_*tyD 3 dart flutter

我试图以下面的方式使用showDialog

showDialog(context: context,child:new Text("Hello Dialgo"));
Run Code Online (Sandbox Code Playgroud)

以上工作正常,但它声明child参数已被弃用,另一种方法是:

'而不是使用"child"参数,将子句从提供给"builder"参数的闭包中返回.这将确保BuildContext''适用于在对话框中构建的小部件.

我不确定这意味着什么.这里有任何简单的例子.

aqw*_*ert 19

改变它

showDialog(
   context: context,
   builder: (_) => new Text("Hello Dialgo")
);
Run Code Online (Sandbox Code Playgroud)

如果需要将对话框中的上下文更改builder: (_) =>为builder: (BuildContext context) =>

因为Builder是一个函数处理程序,我们需要创建一个接受单个参数(BuildContext)并返回Widget的函数.

语法可以是:

(BuildContext context) => new Text('...');
Run Code Online (Sandbox Code Playgroud)

要么

(BuildContext context) {
    return new Text('...')
}
Run Code Online (Sandbox Code Playgroud)

它们是等价的,但第二个可以有多条线

请参阅此处的示例:https://github.com/aqwert/flutter_auth_starter/blob/master/lib/core/dialogs/showError_dialog.dart