这段代码的工作方式是对固定消息和消息进行排序
snapshot.data?.sort((a, b) {
if(b.c.messagePinned != null) {
if(b.c.messagePinned!) {
return 1;
}
}
return -2;
});
字符串
我想分两个阶段来做。我想在顶部的固定消息和最后消息日期排序。下面的代码没有给予我想要的
snapshot.data?.sort((a, b) {
if(b.c.messagePinned != null) {
if(b.c.messagePinned!) {
return b.c.lastMessageTime.compareTo(
a.c.lastMessageTime);
}
}
return -2;
});
型
1条答案
按热度按时间7xllpg7q1#
我认为你的比较是反向的钉的情况下。您要使用
return a.c.lastMessageTime.compareTo(b.c.lastMessageTime);
比较B和a会导致日期向后排序。
顺便说一句,您还可以合并if语句。
if(b.c.messagePinned != null && b.c.messagePinned!) {
个如果第一个条件为假,则不会检查第二个条件。