Flutter,如何从第二个屏幕更新第一个屏幕控制器中声明的反应列表?
我在我的项目中使用 GetX。假设我有两个屏幕。每个屏幕都有一个按钮。 第一个屏幕的控制器有可观察的对象列表。当按下第一屏幕中的按钮时,对象列表中的一个被发送到第二屏幕。
在第二个屏幕中,用户更改接收到的数据的值,当按下“保存”按钮时,我也想更新第一个屏幕中的可观察列表。
我知道我可以使用 Get.back() 将更新的数据发送回第一个屏幕。我可以在第二个屏幕中执行以下操作
Get.back(result: [
{"updatedObject": listDetails}
]);
,在第一个屏幕中我可以执行
Get.to(() => SecondScreen(), arguments: [
{"list": listDetails[index]}
]).then((result) {
// result[0]["updatedObject"] // use this to update list observable
});
我的问题。 当按下保存
按钮时,我可以更新第一个屏幕中的列表而不导航回第一个屏幕吗?
我对 GetX 还很陌生,我正在努力学习它。谢谢
I am using GetX in my project. Lets suppose I have two screens. Each screen have a button.
The controller of first screen have observable list of objects. When a button in first screen is pressed, one of the object list is sent to second screen.
In second screen user changes the value of the data received and when save
button is pressed, I want to update the observable list in first screen as well.
I know I can use Get.back()
to send updated data back to first screen. I could do following in second screen
Get.back(result: [
{"updatedObject": listDetails}
]);
And in first screen I could do
Get.to(() => SecondScreen(), arguments: [
{"list": listDetails[index]}
]).then((result) {
// result[0]["updatedObject"] // use this to update list observable
});
My Question.
Can I update list in first screen without navigating back to first screen when Save
button is pressed.
I am pretty new with GetX and i am trying to learn it. Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只要当您使用
Get.to()
导航到第二个屏幕时,您始终可以使用Get.find()
访问第一个屏幕的控制器中的数据。这是我稍微调整了一下的示例:
在第二个屏幕上的控制器上,您可以使用索引访问(查看/更新)数据。
As long that when you navigate to the second screen using
Get.to()
then you can always access the data in the controller of the first screen usingGet.find()
.Here's a sample I tweaked it a little bit:
On the controller on the second screen you can access(view/update) the data using the index.