【发布时间】:2020-06-11 02:43:52
【问题描述】:
我想从本地 JSON 对象列表中搜索字符串。它包含每个月和这些月中的几周的数据,如下所示:
[
{
"month": "January",
"weeklyList": [
{
"weekId":1,
"songName" : "some text",
"songDescription" : "some text",
"bookChapter":"some text"
}
]
}
]
我已经实现了解析和填充列表视图所需的方法。正如您在图片上看到的那样,我在主屏幕上有一个月份列表,并使用它们的索引来专门解析给定月份的数据,当用户单击它以导航到填充每周列表的第二个屏幕时,这工作正常。
我在 Flutter Boring 节目中观看了 SearchDelegate 如何工作,但我不知道如何为我的 JSON 实现它。如果输入的字符串在“weeklyList”数组中的一个值中,我想搜索并显示一个建议列表。我很困惑,因为我将在主屏幕上搜索整个 JSON 而不使用索引。 Screenshot image
我知道我应该使用这样的东西:
snapshot.data.where((filterString) =>
(filterString.songName.contains(query) || (filterString.songDescription.contains(query))));
但不知道该怎么做。对于起点的任何建议,我将不胜感激。
提前谢谢你!
【问题讨论】: