如何更改文本字段中的值并将其显示在另一个屏幕上 (Flutter)?

问题描述

我试图让用户将信息放在一个屏幕上的 TextField 中,然后在他们按下“保存”时保存该信息。然后我希望这个文本显示在另一个容器的另一个屏幕上(假设它要求他们的名字,他们把它放在 TextField 中,按下名为“保存”的按钮,它把它们带回另一个屏幕,然后显示框之前说“姓名”现在说“[用户输入的姓名]”)。

在此先感谢您的帮助!!

解决方法

使用状态管理库,例如 {literal} <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init','123123123'); fbq('track','PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=123123123&ev=PageView&noscript=1" /></noscript> <!-- End Facebook Pixel Code --> {/literal} flutter_blocprovidermobx

这样您就可以保存数据并在应用的任何部分使用

,

有多种方法可以做到这一点。

  1. 您可以通过要导航到的屏幕的构造函数传递值(例如
MaterialPageRoute(builder: (context) => NewPage(name: nameValue))
  1. 如果你想在你的应用程序的多个地方使用这个值,你可以考虑将它存储在一个配置类中(即,创建一个类 Config 作为单例(只允许一次实例),并存储保存时那里的名字就像 Config.name = nameValue。然后,您可以在应用的任何位置以 Config.name)

    访问它
  2. 如果您希望此值在应用程序的任何其他地方使用,但又希望它是持久的,那么最好将其存储为 SharedPreferences 或数据库中。查看用于 Flutter 的 sharedpreferences 包或 sqflite 包。

,

我认为您正在寻找将数据传回上一屏幕。 检查此 stackoverflow answer 或来自 official site of flutter.