在大多数语言中,我可以在构造函数中使用诸如switch
这样的条件块来决定将哪些参数传递给超级构造函数。
如何在Dart中做到这一点?
我的用例是将映射传递给构造函数,具体取决于map['type']
是什么,我通过使用switch块向布局中插入了一个不同的Widget
作为超级构造函数的参数。
答案 0 :(得分:0)
Flutter的用法类似于React三元运算。这些可以直接在构造函数中应用。
condition ? value is true : value is false
这里有更详细的解释:Conditional Operator
您还可以使用LayoutBuilder。如果您要构建窗口小部件,则可以执行以下操作:
Widget build(BuildContext context) {
switch (var) {
case conditionA:
return widgetA;
case conditionB:
return widgetB;
}
}