【问题标题】:Load 'editable text' from the database which users can edit directly从数据库中加载用户可以直接编辑的“可编辑文本”
【发布时间】:2019-03-27 14:34:23
【问题描述】:

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

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

【问题讨论】:

    标签: flutter google-cloud-firestore


    【解决方案1】:

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

    可以找到一个例子here

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我如何将数据库中的文本加载到“文本字段”中,使其可编辑?听说过像 EditableText 之类的东西
      【解决方案3】:

      我通过TextFormField 得到了一个初始文本值。只需定义

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多