如何在颤动中使用复选框从列表中搜索数据
Posted
技术标签:
【中文标题】如何在颤动中使用复选框从列表中搜索数据【英文标题】:How to search data from list with checkbox in flutter 【发布时间】:2020-02-04 09:44:37 【问题描述】:我想从列表中搜索并使用复选框将数据呈现到该列表中。这意味着在这张照片中我已经有了数据,但是当我点击应用栏搜索框并开始搜索数据时,它会根据搜索数据为我提供结果。
这里是项目的完整源代码。 https://github.com/rutvikgumasana/testing
【问题讨论】:
【参考方案1】:我已经对列表中的数据进行了本地搜索。检查下面的代码
初始化一个全局列表对象
List<ServicesByCountry> finalList = new List();
在构造函数中传递你的 searchQuery
final BspServiceBloc _bspServiceBloc;
final String searchQuery;
final List<int> servicesIds;
final Map<String, bool> selection;
const BspServiceScreen(
Key key,
@required BspServiceBloc bspServiceBloc,
@required this.servicesIds,
@required this.selection,
this.searchQuery,
) : _bspServiceBloc = bspServiceBloc,
super(key: key);
然后使用下面的代码进行搜索
WidgetsBinding.instance.addPostFrameCallback((_)
if (widget.searchQuery != '')
finalList.clear();
lovCountryServices.forEach((ServicesByCountry data)
if (data.name
.toLowerCase()
.contains(widget.searchQuery.toLowerCase()))
setState(()
finalList.add(data);
);
else
data.services.forEach((Service services)
if (services.name
.toLowerCase()
.contains(widget.searchQuery.toLowerCase()))
setState(()
finalList.add(data);
);
);
);
else
setState(()
finalList.clear();
finalList.addAll(lovCountryServices);
);
);
然后将最终列表传递给您的 listView 小部件
【讨论】:
你真是太棒了! :) 正是我想要的 :) 非常感谢 :)以上是关于如何在颤动中使用复选框从列表中搜索数据的主要内容,如果未能解决你的问题,请参考以下文章