如何在飞镖中初始化 Set 变量?
How to initialized Set variable in dart?
我使用飞镖 2.13.3。在我的 flutter 应用程序中,我无法初始化 Set
变量而不需要 annotation.I 想要在没有 final Set<V>initialSelectedValues;
的情况下构建构造函数
或不使用 required
,因为从另一个调用来看,此参数只是可选的。但是显示错误并建议我在 final Set<V>initialSelectedValues;
前面添加所需的注释。我该如何更改和解决这个错误?
class MultiSelectDialog<V> extends StatefulWidget {
MultiSelectDialog({required this.items,this.initialSelectedValues});
final List<MultiSelectDialogItem<V>> items;
final Set<V>initialSelectedValues;
@override
State<StatefulWidget> createState() => _MultiSelectDialogState<V>();
}
final selectedValues = await showDialog<Set<int>>(
context: context,
builder: (BuildContext context) {
return MultiSelectDialog(
items: items,
//initialSelectedValues: [1,2].toSet(),
);
},
);
每个最终变量都必须有一个值,如果你想通过构造函数设置它们,你必须在每个参数前面加上“required”。
MultiSelectDialog({
required this.items,
required this.initialSelectedValues });
现在,我可以解决这个问题。使用 const
.
更改为默认参数
MultiSelectDialog({required this.items,this.initialSelectedValues = const {}});
final List<MultiSelectDialogItem<V>> items;
final Set<V> initialSelectedValues;
我使用飞镖 2.13.3。在我的 flutter 应用程序中,我无法初始化 Set
变量而不需要 annotation.I 想要在没有 final Set<V>initialSelectedValues;
的情况下构建构造函数
或不使用 required
,因为从另一个调用来看,此参数只是可选的。但是显示错误并建议我在 final Set<V>initialSelectedValues;
前面添加所需的注释。我该如何更改和解决这个错误?
class MultiSelectDialog<V> extends StatefulWidget {
MultiSelectDialog({required this.items,this.initialSelectedValues});
final List<MultiSelectDialogItem<V>> items;
final Set<V>initialSelectedValues;
@override
State<StatefulWidget> createState() => _MultiSelectDialogState<V>();
}
final selectedValues = await showDialog<Set<int>>(
context: context,
builder: (BuildContext context) {
return MultiSelectDialog(
items: items,
//initialSelectedValues: [1,2].toSet(),
);
},
);
每个最终变量都必须有一个值,如果你想通过构造函数设置它们,你必须在每个参数前面加上“required”。
MultiSelectDialog({
required this.items,
required this.initialSelectedValues });
现在,我可以解决这个问题。使用 const
.
MultiSelectDialog({required this.items,this.initialSelectedValues = const {}});
final List<MultiSelectDialogItem<V>> items;
final Set<V> initialSelectedValues;