在下面的代码片段中,我遇到了两个问题。
我们有带有三个参数的构造函数。我的困惑是@required
位于它之前的第三个参数。删除@required
后,我的项目运行正常,没有任何问题。感谢将解释@required
final ValueChanged<bool> onChanged;
和onChanged(!active);
对我来说是模糊的!我将感谢任何解释_handleTap()
被调用时会发生什么情况的人?
class TapboxB extends StatelessWidget {
TapboxB({Key key, this.active: false, @required this.onChanged})
: super(key: key);
final bool active;
final ValueChanged<bool> onChanged;
void _handleTap() {
onChanged(!active);
}
...
}
@@ required是必需的,如果您具有多个命名参数,并且您希望某些参数是必需的,则使用@required对其进行注释。https://stackoverflow.com/a/55006115/2719243