我正在做一个项目,我需要对一个包含对象的列表进行排序,但它给出了一个错误。
The expression here has a type of 'void', and therefore can't be used.
Run Code Online (Sandbox Code Playgroud)
这是我的代码:-
@override
void initState() {
super.initState();
subscription = collectionReference.snapshots().listen((datasnapshot) {
setState(() {
messageList = datasnapshot.documents
.map(
(v) => Message(
message: v.data['msg'],
sender: v.data['sender'],
imgUrl: v.data['imgUrl'],
id: v.data['id']),
)
.toList().sort((m, m2) => int.parse(m.id).compareTo(int.parse(m2.id)));
});
});
}
Run Code Online (Sandbox Code Playgroud)
它在排序方法中引发错误:-
.toList().sort((m, m2) => int.parse(m.id).compareTo(int.parse(m2.id)));
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能修复它,或者有没有其他方法可以对对象列表进行排序。
还有一个问题。我的 firestore 集合中的文档没有按时间顺序添加。所以,我必须手动完成。有谁知道为什么他们没有按时间顺序作为默认排序?
提前致谢。