dart 预期有3个位置参数,但找到了2个,尝试添加缺少的参数

guz6ccqo  于 2023-07-31  发布在  其他
关注(0)|答案(2)|浏览(104)

我使用这个模型:

class ElementTask {
  final String name;
  final bool isDone;
  ElementTask(this.name, this.isDone);
}

字符串
现在我想补充一下:

final int frequency;


但是我在另一个类中得到了这个错误:

需要3个位置参数,但找到了2个。尝试添加缺少的参数。

我使用这个代码:

getExpenseItems(AsyncSnapshot<QuerySnapshot> snapshot) {
    List<ElementTask> listElement = [];
    int nbIsDone = 0;

    if (widget.user.uid.isNotEmpty) {
      // ignore: missing_return
      snapshot.data.documents.map<Column>((f) {
        if (f.documentID == widget.currentList.keys.elementAt(widget.i)) {
          f.data.forEach((a, b) { //<--error here**
            if (b.runtimeType == bool) {
              listElement.add(ElementTask(a, b));
            }
          });
        }
      }).toList();

      for (var i in listElement) {
        if (i.isDone) {
          nbIsDone++;
        }
      }


我能做些什么来解决它?我应该加一个c还是别的什么?

eh57zj3b

eh57zj3b1#

如果你想让frequency成为可选的,那就把它设置为空值。并使用命名参数。

class ElementTask {
  final String name;
  final bool isDone;
  final int? frequency;
  ElementTask(this.name, this.isDone,{this.frequency});
}

字符串
如果你想让它成为必需的,你需要通过三个项目。
关于构造函数的更多信息

krcsximq

krcsximq2#

当我没有在参数之间放置昏迷时,我得到了这个例外:

Logger.log('Main', 'onBackgroundEvent'  'notifications initialized');

字符串
(在onBackgroundEventnotifications initialized之间预期有彗差)

相关问题