我有一个有状态小部件W1,它调用无状态小部件W2。
W2有onTap功能。我想在 中显示一个警报对话框W2's onTap()。
onTap:() {Alert(context: context, title:'Hi');},
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误,但点击时不会显示任何警报。我尝试将上下文作为参数传递给,W2但我仍然没有看到任何对话框。显示对话框的正确方法是什么W2?我正在使用 rflutter_alert 包链接
谢谢
你必须Alert(context: context, title:'Hi');用showDialog(context: context, builder: (BuildContext context) => Alert(context: context, title:'Hi'));
这是食谱样本:
\n\nFuture<void> _neverSatisfied() async {\n return showDialog<void>(\n context: context,\n barrierDismissible: false, // user must tap button!\n builder: (BuildContext context) {\n return AlertDialog(\n title: Text('Rewind and remember'),\n content: SingleChildScrollView(\n child: ListBody(\n children: <Widget>[\n Text('You will never be satisfied.'),\n Text('You\\\xe2\x80\x99re like me. I\xe2\x80\x99m never satisfied.'),\n ],\n ),\n ),\n actions: <Widget>[\n FlatButton(\n child: Text('Regret'),\n onPressed: () {\n Navigator.of(context).pop();\n },\n ),\n ],\n );\n },\n );\n}\nRun Code Online (Sandbox Code Playgroud)\n\n无论如何,对于您关于如何传递 的问题context,如果您正在创建一个Stateless或Stateful小部件,则不需要传递context,您可以从 获取它build(BuildContext context) {}。
| 归档时间: |
|
| 查看次数: |
15824 次 |
| 最近记录: |