繁体   English   中英

Flutter Search Delegate 过滤器不适用于输入

[英]Flutter Search Delegate filter not working with input

我正在使用这个Search Delegate ,但我不确定为什么我的结果不会根据我的输入而改变。 似乎listtile只会在文本字段集中时出现,但这只是我的猜测。 这是我的代码:

final cities = ["KL", 'BANGKOK', 'LONDON', 'SEOUL', 'TOKYO'];

final sug = ['KL', 'SEOUL'];

class CustomSearchDelegate extends SearchDelegate {
    @override
    Widget buildResults(BuildContext context) {
      //show
      return SizedBox();
    }

    @override
    Widget buildSuggestions(BuildContext context) {
      final res = cities.where((p) => p.startsWith(query.toLowerCase())).toList();
      return ListView.builder(
          itemCount: res.length,
          itemBuilder: (context, index) {
            return ListTile(
              tileColor: Colors.black,
              onTap: () {
                Navigator.of(context).push(MaterialPageRoute(builder: (context) => CityDetails(cityName: res[index])));
                super.showResults(context);
              },
              leading: Icon(Icons.location_city),
              title: Text(res[index]),
            );
          });
    }
}

我想你已经忘记了这个p.toLowerCase().

这将解决此案

 final res = cities
        .where((p) => p.toLowerCase().startsWith(query.toLowerCase()))
        .toList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM