我在根据 String null 安全值动态显示文本小部件时遇到问题。 所以,如果我写这样的条件:
String? _selected;
String _placeholer = "select";
Row(
children: [
if (_selected != null) Text(_placeholer) else Text(_selected!),
],
),
或
Row(
children: [
_selected!.isEmpty ? Text(_placeholer) : Text(_selected!),
],
),
控制台返回此错误:
<块引用>意外的空值。
在视图上,我有红色容器而不是此文本。我该如何解决?
答案 0 :(得分:1)
您好像在这里犯了一个错误。
children: [
if (_selected != null) Text(_placeholer) else Text(_selected!),
],
改成这样:
children: [
if (_selected == null) Text(_placeholer) else Text(_selected!),
],
更好的版本应该是这样的:
children: [
Text(_selected ?? _placeholder)
]