Flutter搜索委托,在文本输入中设置一个值或加载上一个搜索到的值

问题描述 投票:0回答:1

我想知道如何在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])
        ),);
      }

    }

flutter dart flutter-layout
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.