首页 > 解决方案 > 错误:'Iterable 类型的值' 不能从返回类型为 'List 的函数返回?'。显示此错误

问题描述

List<Transaction>? get _recentTransactions {
  return _userTransactions.where((tx) {
    assert(tx != null);
    return tx.date.isAfter(DateTime.now().subtract(Duration(days: 7),),);
  });
 }

当我这样做时,它显示此错误任何人都可以解释

标签: flutter

解决方案


whereDart 中的函数返回 anIterable<T>而不是List<T>.

但是由于您的函数的返回类型为List<Transaction>,因此您必须转换Iterable<Transaction>where函数中获得的返回类型。

为此,请toList使用Iterable.

List<Transaction>? get _recentTransactions {
    return _userTransactions.where((tx) {
        assert(tx != null);
        return tx.date.isAfter(DateTime.now().subtract(Duration(days: 7),),);
    }).toList();
 }

推荐阅读