flutter - 在启用空值安全的情况下,如何在 Iterable.firstWhere 中从 orElse 返回空值?

标签 flutter dart

在 null-safe dart 之前,以下是有效的语法:

final list = [1, 2, 3];
final x = list.firstWhere((element) => element > 3, orElse: () => null);

if (x == null) {
  // do stuff...
}
现在,firstWhere需要 orElse返回 int ,反对 int? ,因此我不能返回 null。
如何从 orElse 返回 null ?

最佳答案

一个方便的功能,firstWhereOrNull ,解决了这个确切的问题。
进口 package:collection其中包括 Iterable 上的扩展方法.

import 'package:collection/collection.dart';

final list = [1, 2, 3];
final x = list.firstWhereOrNull((element) => element > 3);

if (x == null) {
  // do stuff...
}

关于flutter - 在启用空值安全的情况下,如何在 Iterable.firstWhere 中从 orElse 返回空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67843200/

相关文章:

android - 如何在flutter中使用rewarded video listener?

flutter - 从Flutter中的Firestore检索数据后为空列表

firebase - 参数类型 'Map<String, dynamic> Function()' 不能分配给参数类型 'Map<String, dynamic>'

dart - Flutter 代码,在按下按钮时添加或显示小部件或在按下方法时设置状态

Flutter:元素类型 'String'无法分配给列表类型 'Widget'

flutter - 使用Dart/Flutter,如何在ListViewBuilder中添加收藏夹?

dart - 如何在 flutter dart 中使用具有多个条件的三元运算符?

dart - 在 Dart 中将项目排序到列表前面

flutter_bloc 8 : what is the best practice for listening to state changes from another bloc

Flutter: fatal error :回调查找失败! (带有音频播放器包)