【发布时间】:2020-07-16 21:05:34
【问题描述】:
我正在 Flutter 中制作一个简单的 TODO 应用程序。在每个项目旁边我都有一个“编辑”图标,它会打开一个 AlertDialog,其中包含该项目的预填描述和数量。当我在对话框外单击时,它按预期被关闭。对于这个表单,我使用了两个字符串变量description 和amount,以及两个控制器descriptionController 和amountController。
我还有“添加”按钮,它会打开一个类似表单的类似警报对话框,其中我使用相同的字符串变量和控制器。
问题出现在以下场景中: - 我点击某个项目的“编辑”按钮。对话框出现,带有预填充的字段。 - 我通过单击外部关闭对话框。 - 我点击“新建”按钮。对话框出现,但我仍然看到之前编辑的项目中的值,而不是空字段。
其中一种解决方案当然是使用单独的控制器。但我想知道是否有可能通过单击外部并执行特定操作(清除控制器)来检测对话框被关闭。
谢谢。
【问题讨论】:
-
你可以这样做,解决方案在这里找到。 github.com/flutter/flutter/issues/26542
-
不是最好的解决方案,但你可以试试这个 - 你可以做的是,当你关闭编辑对话框时,只需将值存储在文本变量中,然后设置 descriptionController.text=" ",或者只是在文本字段中使用 onChanged 方法并继续将值分配给文本变量,并在关闭时设置 descriptionController.text=""。
标签: flutter flutter-alertdialog