我有3页纸:
> A page where the user enters their desired display name
> A page where the user enters their desired username
> A page where the user enters their desired password
我需要能够将数据(显示名称、用户名、密码)传递到密码页面,其中有一个最终的“提交”按钮,它将实际创建用户的帐户。
到目前为止,我所做的是创建3个单独的小部件,并调用Navigator.push
来连接它们。
然而,对于provider库,它看起来并没有真正处理导航推送,根据this answer。
因此,我想知道我还应该如何布局我的小部件,使它能够像预期的那样与provider
一起工作?
1条答案
按热度按时间ia2d9nvy1#
你的嵌套页面看起来非常好,这里有两种可能的方法,你提到的其中一种方法是使用provider。相反,你可以使用内置参数和Navigator.push来沿着小部件树传递你的数据。
它可能有点“脏”,但在您的情况下应该能很好地工作,因为没有太多的数据和嵌套页面要传递。
首先,您需要定义需要传入的参数,例如:
接下来,传递所需的数据,如下所示:
然后,在下一个屏幕上,您需要提取小部件树构建上下文中的参数:
通过此方法访问数据并将其存储在嵌套页上的新变量中:
再次重复此步骤,直到您的最终嵌套页,并包含用户名参数。提取这些参数,现在您可以在最终嵌套页上将表单提交到数据库
示例流程:
有关如何通过Navigator正确传递参数的详细信息,请参阅此dart文档