在页面之间保留 TextFromField 的值

Keep the value of TextFromField between pages

作为练习,我尝试用 flutter 复制一个应用程序,但我在使用 TextFromField 时遇到了问题。 基本上我应该能够在 TextFromField 中写一个文本,而不是选择颜色(和其他东西..)。要选择颜色,我将打开 ShowDialog,select 颜色,然后返回上一页。问题是,当我返回页面时,我丢失了 TextFromField 的值,因为基本上我正在重新加载页面。

我需要实现这个:

正如您在原始应用程序中看到的那样,当我选择颜色时,文本 'TEST' 仍然存在!我是 Flutter 的新手,我真的不知道该怎么做:(求助。

TextFormField不会给你记住这个值,你要记住这个值,然后交给TextFormField的controller。您需要计划一个 state management 方法来实现这一点。可以有多种方法来实现这一点。发布您的代码有助于获得实际建议。

将您在 textController 中为该 TextFormField 获得的值存储在键值存储中。

开始之前,将 shared_preferences 插件添加到 pubspec.yaml 文件:

content_copy
dependencies:
  flutter:
    sdk: flutter
  shared_preferences: "<newest version>"

然后像下面的例子一样存储

// obtain shared preferences
final prefs = await SharedPreferences.getInstance();

// set value
prefs.setInt(txtFmFld, VALUE);

它将跨页面持久化