tea*_*ake 1 dart flutter dart-null-safety
如果过期不为空,我想渲染文本小部件。所以我检查了 null
但出现错误
class TileButton extends StatelessWidget {
final DateTime? expires;
const TileButton({
Key? key,
this.expires,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Row(
children: [
Text(
'Hello Flutter',
),
if (expires != null)
Text(
expires.day.toString(),
),
],
);
}
}
Run Code Online (Sandbox Code Playgroud)
感谢社区里的那个人。他告诉我应该看哪里
\n所以这个检查不适用于类字段
\n\n\n分析器可以对整个应用程序的流程进行建模,因此它可以预测全局变量或类字段的值。
\n
\n\n对于非局部变量,编译器无法轻易做出这样的保证。非局部变量隐式提供 getter 函数,该函数可以被派生类重写,并且可以从一次访问到下一次访问返回不同的值。
\n
另请检查此帖子评论中的链接以获取更多信息
\n\n\n\n所以。如果我想使用 null 检查而不使用! \n我应该创建本地 var Final _expires = expires;并使用 _expires 进行检查
\nclass TileButton extends StatelessWidget {\n final DateTime? expires;\n\n const TileButton({\n Key? key,\n this.expires,\n }) : super(key: key);\n\n @override\n Widget build(BuildContext context) {\n final _expires = expires;\n return Row(\n children: [\n Text(\n \'Hello Flutter\',\n ),\n if (_expires != null)\n Text(\n _expires.day.toString(),\n ),\n ],\n );\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
7172 次 |
| 最近记录: |