我有一个名为SearchText
的文本框。由于一切都正常,我想知道如何在回到同一页时清除文本框中的文本。现在,当我从页面返回时,搜索文本仍然存在。
条件:我正在将字段的值传递到其他页面。因此,搜索文本应该包含一些文本。
到目前为止我所做的是:
Tried to set the text to null after push happens. (I have button to go to another page)
onPressed: (){ Navigator.push(context, new MaterialPageRoute( builder: (context) => SearchPage(searchText: this.search.text) )); setState((){this.search.text = '';}); }
问题描述:在将数据推送到另一页之前,搜索文本变为空了。这并不是我想要的。
- 尝试在
initState()
中将文本设置为空,但是弹出操作只是替换而非移除堆栈,因此页面不会调用initState()
我也尝试过这样做:
Navigator.of(context).pop('NoText': '');
但是我不知道在主页上为搜索文本做什么,或者更新它。
我不想再次推送,因为这会将相同的页面再次添加到堆栈中。
页面1 -> 页面2(按返回) -> 页面1(搜索文本 ='')
感谢任何帮助。谢谢 :)
.then()
对我很有用。之前它也一直在工作。谢谢,Siddharth. :) - Alok