从数据库中加载“可编辑文本”,用户可以直接对其进行编辑

时间:2019-03-27 14:34:23

标签: flutter google-cloud-firestore

我有一个我希望用户能够更改其描述的应用程序。用户当前的过程是单击描述,这将打开一个新屏幕,用户可以从中更新其描述。用户单击保存后,他们将导航回到上一个屏幕。

用户是否可以直接编辑说明并自动保存和更新?

3 个答案:

答案 0 :(得分:0)

也许您可以使用WillPopScope类来拦截后退按钮,并在用户返回时自动保存更改。

可以找到一个示例here

答案 1 :(得分:0)

您可以使用dialogbottom sheet来提示他们单击描述以更新描述。然后,您可以保存该标签并更新标签,如果将值设置为变量或使用Firestore的实时方面,标签将自动完成。这样就不需要使用单独的屏幕了。

答案 2 :(得分:0)

我通过TextFormField使它具有初始文本值。只需定义

TextEditingController _textController;

  @override
  void initState() {
    super.initState();
    _textController = TextEditingController(text: 'Your text');
  }

,并将Your text替换为数据库的String值。要保存它,您可以覆盖BackButton行为。尽管如此,要更改iOS滑动手势的行为并不是那么容易。猜猜我必须调查RouteObservers才能在弹出屏幕时触发数据库保存。