У меня очень простое приложение SearchApp, в котором есть панель приложений со значком поиска и текстовым виджетом. При нажатии на значок поиска вызывается showSearch и вызывается CustomSearchDelegate. Как сделать так, чтобы в методе buildResults this.close вызывался немедленно, без возврата виджета, и запрос передавался в виджет SearchApp без сохранения состояния для отображения в виджете Text.
Вот код:
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();
}
}