Flutter 当使用搜索委托(颤振)时,如何在buildResult方法中调用this.close?
我有一个非常简单的SearchApp,它有一个带有搜索图标和文本小部件的AppBar。点击搜索图标时,将调用showSearch并调用CustomSearchDelegate。如何使其在buildResults方法中立即调用this.close而不返回小部件,并将查询传递给SearchApp无状态小部件以显示在文本小部件上 代码如下:Flutter 当使用搜索委托(颤振)时,如何在buildResult方法中调用this.close?,flutter,dart,Flutter,Dart,我有一个非常简单的SearchApp,它有一个带有搜索图标和文本小部件的AppBar。点击搜索图标时,将调用showSearch并调用CustomSearchDelegate。如何使其在buildResults方法中立即调用this.close而不返回小部件,并将查询传递给SearchApp无状态小部件以显示在文本小部件上 代码如下: class SearchApp extends StatelessWidget { @override Widget build(BuildContext
class SearchApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
actions: <Widget>[
IconButton(
tooltip: 'Search',
icon: const Icon(Icons.search),
//Don't block the main thread
onPressed: () {
showSearch(context: context, delegate: CustomSearchDelegate());
},
),
],
),
body: Text(query), // The query data should be displayed here
);
}
}
class CustomSearchDelegate extends SearchDelegate {
@override
List<Widget> buildActions(BuildContext context) {
return <Widget>[Icon(Icons.close)];
}
@override
Widget buildLeading(BuildContext context) {
return Icon(Icons.arrow_back_ios);
}
@override
Widget buildResults(BuildContext context) {
// GO back to SearchApp page immediately with the query result
}
@override
Widget buildSuggestions(BuildContext context) {
return Column();
}
}
class SearchApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
行动:[
图标按钮(
工具提示:“搜索”,
图标:常量图标(Icons.search),
//不要阻塞主线程
已按下:(){
showSearch(上下文:上下文,委托:CustomSearchDelegate());
},
),
],
),
body:Text(query),//这里应该显示查询数据
);
}
}
类CustomSearchDelegate扩展了SearchDelegate{
@凌驾
列出buildActions(BuildContext上下文){
返回[图标(Icons.close)];
}
@凌驾
小部件buildLeading(BuildContext上下文){
返回图标(图标、箭头、返回图标);
}
@凌驾
小部件构建结果(构建上下文){
//立即返回SearchApp页面并显示查询结果
}
@凌驾
小部件构建建议(构建上下文){
返回列();
}
}
我意识到我可以编辑搜索类的源代码,所以我复制并粘贴了源代码,在文本字段下,我简单地删除了showResult方法并将其替换为close,因此不会显示结果页面。至于将查询传递到原始页面,我所要做的就是将值存储在异步变量中 我意识到我可以编辑搜索类的源代码,所以我复制并粘贴了源代码,然后在Textfield下,我简单地删除了showResult方法,并将其替换为close,因此不会显示结果页面。至于将查询传递到原始页面,我所要做的就是将值存储在异步变量中