我试图以下面的方式使用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
| 归档时间: |
|
| 查看次数: |
2827 次 |
| 最近记录: |