【发布时间】:2019-05-06 10:19:06
【问题描述】:
我有一个SearchText 文本字段。由于一切正常,我想知道当我回到同一页面时如何清除文本字段中的文本。现在,当我从页面返回时,搜索文本仍然存在。
条件:我将字段中的值传递到其他页面。所以搜索文本应该有一些文本。
到目前为止我所做的是:
-
在推送发生后尝试将文本设置为 null。 (我有按钮可以转到另一个页面)
onPressed: (){ Navigator.push(context, new MaterialPageRoute( builder: (context) => SearchPage(searchText: this.search.text) )); setState((){this.search.text = '';}); }
出现问题:在将数据推送到另一个页面之前,搜索文本变为空。这是我不想要的。
- 试图在我的
initState()中将文本设置为空,但弹出只是替换删除堆栈而不是重做页面。所以页面不会调用initState()
我也尝试过这样做:
Navigator.of(context).pop('NoText': '');
但我不知道在主页中对搜索文本做什么,或者更新它。
我不想再次推送,因为它会将相同的页面再次添加到堆栈中。
Page 1 -> Page 2 (press back) -> Page 1 (search text = '')
任何帮助将不胜感激。谢谢:)
【问题讨论】:
标签: flutter uitextfield