当前位置: 首页 > 面试题库 >

如何在Flutter App中管理选项卡之间的状态

厍建义
2023-03-14
问题内容

我在应用程序中使用TabBar,需要在第一个选项卡中获取Input并
根据其他选项卡上的计算结果显示输出。

我可以在第一个选项卡中获得输入,但是当我单击第二个选项卡时,我的状态将会丢失。我不确定是否必须在根级别将其设置为有状态的小部件。

我在移动应用程序中相对较新。有人可以帮我吗?

编辑:

现在我可以实现上面所说的内容,但是当我尝试从第一个选项卡访问项目列表时,它在第二个选项卡中引发null异常吗?

如下面的答案所述,我使用 AutomaticKeepAliveClientMixin 解决了上述问题。


问题答案:

我想你可能会追求的是AutomaticKeepAliveClientMixin。我总是将其添加到的屏幕小部件中TabBarView。这样,当用户将数据输入一个选项卡中的字段并导航到其他选项卡并返回数据时,数据仍然如您所愿。然后,当用户执行“保存”之类的操作时,我将处理状态管理(BLoC等)。



 类似资料:
  • 我正在学习本教程中的示例。根据教程,我想在两个选项卡之间拖动选项卡。到目前为止,我设法创建了这段代码,但我需要一些帮助才能完成代码。 来源 将选项卡的内容作为对象插入的正确方法是什么?简单的文本被转移到教程中。我必须如何修改这行< code>content.put(DataFormat。PLAIN_TEXT,tab pane);? 拖动选项卡后插入选项卡的正确方法是什么: 目的地 我想这个转移可以

  • 页边距在它们之间的选项卡和选定的选项卡上有一个勾号

  • 我需要的每个项目都有多个SQL查询。我的问题是,我所有的项目都需要Workbase中相同的MySQL连接。 因此,我一直打开着大量的SQL选项卡,如下所示: 由于选项卡的数量超过了显示器的宽度,因此我必须左右滚动才能找到一些查询。唯一的方法是单击两个箭头(屏幕截图的右侧)。这真的很不清楚,也很烦人。 有没有更好的处理方法?是否可以在多个SQL选项卡之间快速切换,或者以另一种方式排列?

  • 我是python和selenium的新手,我正在尝试在选项卡之间切换,我已经尝试使用普通的键盘命令,ActionChains和Keys.CONTROL,但它不起作用,我将如何做到这一点。程序如下

  • 问题内容: 我想做的是能够在表格中的元素之间切换。 我目前正在这样创建我的表。 但是我不确定如何设置表格。其他所有功能都可以编辑列,显示数据等。仅停留在最后一部分。 如果我错过了明显的文档或javadocs-我的道歉,甚至指出这些都很好。 问题答案: 我认为默认情况下,选项卡不会在swt表中从一个单元格跳转到另一个单元格。而是遍历到下一个控件。因此,当按下Tab键时,您还需要告诉它不要遍历 同样,

  • 我正在寻找一种方法,如何在浏览器中的多个选项卡或窗口之间进行通信(在同一个域上,而不是CORS上)而不留下痕迹。有几种解决办法: 使用窗口对象 邮件后传 Cookies 本地存储 第一种可能是最糟糕的解决方案--你需要从你当前的窗口打开一个窗口,然后你只能在保持窗口打开的情况下进行交流。如果您在任何窗口中重新加载该页,则很可能会丢失通信。 第二种方法,使用postMessage,可能可以实现跨源通

  • 问题内容: 我在使用socket.io时遇到了一些问题,我也不知道如何解决。我有一个带有socket.io登录系统的应用程序,用于管理用户交互。我还有一个数组来管理所有活动的websocket会话。该数组存储一对session.id => username。 当用户打开具有相同页面(或使用websocket的其他页面)的新标签时,问题就开始了。这会导致数组中的用户名条目重复。 当套接字向用户发送消

  • 问题内容: 我需要编写一些代码以在iOS应用启动时将视图切换到另一个选项卡(例如,默认情况下显示第二个选项卡,而不是第一个)。 我是Swift的新手,并已完成以下工作: 该代码可能应该放在第一个选项卡的ViewController的重写func viewDidLoad()函数中。 以下代码显示了第二个ViewController,但没有在底部显示标签栏(vcOptions是第二个ViewContr