Has*_*sen 2 null class dart flutter
由于它是一个可选值,它有时会为空,那么如何避免它抛出错误呢?这是唯一的方法吗?
class QText extends StatelessWidget {
QText(this.text, this.size, [this.bold]);
final String text;
final double size;
bool bold;
@override
Widget build(BuildContext context) {
bold = (bold == null) ? false : bold;
return Whatever..
}
}
Run Code Online (Sandbox Code Playgroud)
我想这样做,但当然它不起作用:
class QText extends StatelessWidget {
QText(this.text, this.size, [this.bold]);
final String text;
final double size;
final bool bold ?? false;
@override
Widget build(BuildContext context) {
return Whatever..
}
}
Run Code Online (Sandbox Code Playgroud)
由于字段是最终尝试在构造函数初始化期间传递默认值。
还要添加一条assert语句以确保它永远不会初始化为null.
例子:
class QText extends StatelessWidget {
QText(this.text, this.size, [this.bold = false]) : assert(bold != null);
final String text;
final double size;
final bool bold;
@override
Widget build(BuildContext context) {}
}
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
| 归档时间: |
|
| 查看次数: |
6514 次 |
| 最近记录: |