我有一份这样的 list .

final List<SuperType> list = <SubType>[ ... ];

那么,我想要这样的东西管用.

final element = (list as List<SuperType>).firstWhere(
  (e) => ...ANY CONDITION...,
  orElse: () => const SuperType(),
);

但以这个错误结束.

Expected a value of type '(() => SubType)?', but got one of type '() => SuperType'

我只是想知道如何修复它.我用的是Flutter 翼3.13.9.

推荐答案

这是您要找的东西吗?

void main() {
  final List<SuperType> list = [SubType(a: 10, b: 20), SubType(a: 2, b: 30)];
  final element = list.firstWhere(
    (e) => e.a == 2,
    orElse: () => SuperType(a: 20),
  );
  print(element.a); //2
}

class SuperType {
  final int a;

  SuperType({required this.a});
}

class SubType extends SuperType {
  final int b;

  SubType({required super.a, required this.b});
}

我们有SuperType个家长班级和SubType个子元素班级.list变量将SubType的列表转换为SuperType的列表.然后我们就可以在列表中找到我们想要的对象了.

Flutter相关问答推荐

如何让GridView.builder用另外两个小部件来占据屏幕的剩余部分

如何解决这个错误,同时获得的高度的小部件,因此高度的可用工作区域在Flutter ?

我如何才能收到每天重复的预定通知?

Android NFC未收到空的NFC标签

在Android Studio的新用户界面中未找到热重新加载

我的flutter代码显示一个小部件被认为是死代码,为什么?

在Flutter 中实现中小型应用程序栏标题

为什么PUT方法没有发出任何响应?

Flutter 块消费者仅对特定的状态属性更改做出react

怎么才能像这样在摆动着这些曲线呢?

为Android生成时出现Flutter 错误:给定资源值的<;COLOR&>无效

Flutter中pubspec.yaml文件中的name参数是什么?

点击按钮后重新启动定时器

在flutter中从图库或相机中 Select 图像的方法

Flutter Dart 功能弹出错误的小部件?

如何在 cupertino switch flutter 中添加文本

Flutter:当我通过 Transform.rotate 旋转水平 ListView 时,左右边缘被切断

Flutter Firestore 数据库排序最近 24 小时内最喜欢的文档

Flutter Firebase:如何判断返回值是否是特定对象

解密 Modulr 安全令牌