list - Flutter - 如何查询列表中的搜索项

我想要 List<Food> 上的搜索请求我得到了。我使用过这样的查询方法:

_foodList.where((food) => food.name == userInputValue).toList();

但是,搜索要求我使用完整的文本和正确的文本大小写进行搜索。

如果我想处理 "dish" 的编译,该怎么办? ,然后是所有带有 "dish" 字样的食物名称将显示在 List ?

最佳答案

在比较之前将所有字符串小写或大写并使用 contains() 代替 ==:

_foodList.where((food) => food.name.toLowerCase().contains(userInputValue.toLowerCase()).toList();

如果值可以为 null,则需要添加额外的检查。

https://stackoverflow.com/questions/54232385/

相关文章:

dart - 如何在 Dart 中发出网络请求并返回一个 json 对象

dart - Flutter ThemeData 不适用于文本

testing - 如何在 Flutter 中测试私有(private)函数/方法?

android - Flutter:构建 APK 时如何传递 Gradle 参数?

dart - StreamBuilder 抛出 Dirty State 说 Invalid Argu

dart - flutter ListView 滚动到索引不可用

flutter - 如何在 Flutter 中向 TextFormField 添加阴影

dart - 同屏多于一个 float 操作按钮显示黑屏

dart - 事件队列和微任务队列

amazon-web-services - 在 Flutter 中从 AWS S3 上传和获取媒体文