我想知道如何在Flutter Search委托中为查询设置默认值,以便在启动查询时,用户可以更改默认值。
我试图在query
@override
中设置buildLeading()
,但是当这样设置时,用户无法更改该值。
提前谢谢您
class TheSearch extends SearchDelegate<String>{
TheSearch({this.contextPage,this.controller,this.compressionRateSearch});
BuildContext contextPage;
WebViewController controller;
final suggestions1 = ["https://www.google.com"];
@override
String get searchFieldLabel => "Enter a web address";
@override
List<Widget> buildActions(BuildContext context) {
return [
IconButton(icon:Icon(Icons.clear),onPressed:(){
query = "";
},)
];
}
@override
Widget buildLeading(BuildContext context) {
return IconButton(icon:AnimatedIcon(
icon:AnimatedIcons.menu_arrow,
progress: transitionAnimation,
),onPressed:(
){
close(context,null);
},);
}
@override
Widget buildResults(BuildContext context) {
}
@override
Widget buildSuggestions(BuildContext context) {
final suggestions = query.isEmpty ? suggestions1 : [];
return ListView.builder(itemBuilder: (content,index) => ListTile(
leading:Icon(Icons.arrow_left),
title:Text(suggestions[index])
),);
}
}