小编Har*_*ngh的帖子

无法对颤振中的对象列表进行排序

我正在做一个项目,我需要对一个包含对象的列表进行排序,但它给出了一个错误。

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 集合中的文档没有按时间顺序添加。所以,我必须手动完成。有谁知道为什么他们没有按时间顺序作为默认排序?

提前致谢。

sorting dart firebase flutter google-cloud-firestore

1
推荐指数
1
解决办法
1193
查看次数