【发布时间】:2019-03-27 14:34:23
【问题描述】:
我有一个应用程序,我希望用户能够更改他们的描述。当前的过程是用户单击描述,这将打开一个新屏幕,用户可以从中更新他们的描述。一旦用户单击保存,他们将导航回上一个屏幕。
用户是否可以直接编辑描述并自动保存和更新?
【问题讨论】:
标签: flutter google-cloud-firestore
我有一个应用程序,我希望用户能够更改他们的描述。当前的过程是用户单击描述,这将打开一个新屏幕,用户可以从中更新他们的描述。一旦用户单击保存,他们将导航回上一个屏幕。
用户是否可以直接编辑描述并自动保存和更新?
【问题讨论】:
标签: flutter google-cloud-firestore
也许您可以使用WillPopScope 类拦截后退按钮并在用户返回时自动保存更改。
可以找到一个例子here
【讨论】:
您可以使用dialog 或bottom sheet 在他们单击时提示他们更新描述。然后,您可以保存并更新标签,如果您将值设置为变量或使用 Firestore 的实时方面,这将自动完成。这样就不需要有一个单独的屏幕了。
【讨论】:
我通过TextFormField 得到了一个初始文本值。只需定义
TextEditingController _textController;
@override
void initState() {
super.initState();
_textController = TextEditingController(text: 'Your text');
}
并将Your text 替换为您的数据库字符串值。要保存它,您可以覆盖 BackButton 行为。尽管如此,要改变 iOS 滑动手势的行为并不是那么容易。我想我必须查看RouteObservers 以在弹出屏幕时触发数据库保存。
【讨论】: