在页面之间保留 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);
它将跨页面持久化
作为练习,我尝试用 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);
它将跨页面持久化