【发布时间】:2020-05-09 11:32:45
【问题描述】:
我有一个以下小部件,如果animated = true 呈现AnimatedContainer 并且如果animated = false 呈现Container:
animated
? AnimatedContainer(
duration: duration,
decoration: decoration,
child: child,
margin: margin,
padding: padding,
)
: Container(
decoration: decoration,
child: child,
margin: margin,
padding: padding,
);
如您所见,这两个小部件共有四个参数。有没有一种方法可以将参数存储在变量中并作为一个变量在它们之间传递?所以像:
var params = (
decoration: decoration,
child: child,
margin: margin,
padding: padding,
);
animated
? AnimatedContainer(
duration: duration,
...params,
)
: Container(params);
【问题讨论】:
-
如果没有动画,您是否尝试仅使用持续时间为零的 AnimatedContainer?
-
我相信你不能那样定义小部件的属性。您要么遵循上面的建议,要么像在自己的代码中那样做。定义变量并在每个 Widget 中重复使用它们。