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

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

我使用这个模型:

  1. class ElementTask {
  2. final String name;
  3. final bool isDone;
  4. ElementTask(this.name, this.isDone);
  5. }

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

  1. final int frequency;


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

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

我使用这个代码:

  1. getExpenseItems(AsyncSnapshot<QuerySnapshot> snapshot) {
  2. List<ElementTask> listElement = [];
  3. int nbIsDone = 0;
  4. if (widget.user.uid.isNotEmpty) {
  5. // ignore: missing_return
  6. snapshot.data.documents.map<Column>((f) {
  7. if (f.documentID == widget.currentList.keys.elementAt(widget.i)) {
  8. f.data.forEach((a, b) { //<--error here**
  9. if (b.runtimeType == bool) {
  10. listElement.add(ElementTask(a, b));
  11. }
  12. });
  13. }
  14. }).toList();
  15. for (var i in listElement) {
  16. if (i.isDone) {
  17. nbIsDone++;
  18. }
  19. }


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

eh57zj3b

eh57zj3b1#

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

  1. class ElementTask {
  2. final String name;
  3. final bool isDone;
  4. final int? frequency;
  5. ElementTask(this.name, this.isDone,{this.frequency});
  6. }

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

krcsximq

krcsximq2#

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

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

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

相关问题