Class 颤振有状态小部件设置构造函数默认值
我试图创建一个自定义的有状态小部件。但是我找不到关于如何在构造函数上设置默认值的任何参考Class 颤振有状态小部件设置构造函数默认值,class,flutter,dart,stateful,Class,Flutter,Dart,Stateful,我试图创建一个自定义的有状态小部件。但是我找不到关于如何在构造函数上设置默认值的任何参考 class CustomWidget extends StatefulWidget { final String buttonText; final Function onPressed; CustomWidget ({Key key, @required this.onPressed, this.buttonText = 'defaultString'}) :super(key: ke
class CustomWidget extends StatefulWidget {
final String buttonText;
final Function onPressed;
CustomWidget ({Key key, @required this.onPressed, this.buttonText = 'defaultString'}) :super(key: key);//this.buttonText='defaultString'
@override
_CustomWidgetState createState() => _CustomWidgetState();
}
例如:
class CustomWidget extends StatefulWidget {
final String buttonText;
final Function onPressed;
CustomWidget({Key key, @required this.onPressed, this.buttonText}) : super(key: key);
@override
_CustomWidgetState createState() => _CustomWidgetState();
}
class _CustomWidgetState extends State<CustomWidget> {
@override
Widget build(BuildContext context) {
return FlatButton(
onPressed: widget.onPressed,
child: Text(widget.buttonText),
);
}
}
然而,当我不使用buttonText时,应用程序崩溃
child: CustomWidget(
onPressed: () {},
)
一个基本的解决方法是简单地添加一行按钮文本:'
。在创建自定义小部件时,我并不总是想明确地处理每个自定义小部件的属性
所以我的问题是,如何设置构造函数的默认属性?因此,当我省略属性时,应用程序不会崩溃?您的构造函数名称应该是类名。要提供默认值,只需在构造函数中的变量旁边添加一个
=defaultValue
class CustomWidget extends StatefulWidget {
final String buttonText;
final Function onPressed;
CustomWidget ({Key key, @required this.onPressed, this.buttonText = 'defaultString'}) :super(key: key);//this.buttonText='defaultString'
@override
_CustomWidgetState createState() => _CustomWidgetState();
}