显示基于日期的列表项目-Flutter



当每个列表项的日期等于今天的日期时,我想要一个列表。I、 就我个人而言,在listview.builder的futurebuilder:中写下了这段代码

itemBuilder: (context, index) {
var now = DateTime.now();
var nowFormated = DateFormat.MMMd().format(now);
DateTime time = DateTime.parse(snapshot.data[index].date);
var databaseFormated = DateFormat.MMMd().add_Hm().format(time);
var checkerFormated = DateFormat.MMMd().format(time);
if (checkerFormated == nowFormated) {
print (checkerFormated);
print(nowFormated);
return Todays(
snapshot.data[index].name != null
? snapshot.data[index].name
: '',
databaseFormated);
} else {
return null;
}
}

此代码仅适用于第一项。它没有显示任何其他项目。

试试这个

itemBuilder: (context, index) {
final now = DateTime.now();
final time = DateTime.parse(snapshot.data[index].date);
final databaseFormated = DateFormat.MMMd().add_Hm().format(time);
return (now.year == time.year && now.month == time.month && now.day == time.day) ? Todays(snapshot.data[index].name != null ? snapshot.data[index].name : '', databaseFormated) : SizedBox();
}

我解决了它。问题是else返回类型为null。我给了它一个空的sizedbox,它有效。

else {
return SizedBox.shrink();
}

最新更新