If statement 为什么使用十进制运算符会出现错误?
我试图创建一个文本,它应该只有在If statement 为什么使用十进制运算符会出现错误?,if-statement,flutter,dart,If Statement,Flutter,Dart,我试图创建一个文本,它应该只有在variable1==“1”时才可见,但我得到了一个错误。有人能告诉我为什么我会犯这个错误吗?下面是我试过的代码。提前谢谢 Padding( padding: const EdgeInsets.symmetric(vertical: 28.0), child: Container( child: variable1 == "1"
variable1==“1”
时才可见,但我得到了一个错误。有人能告诉我为什么我会犯这个错误吗?下面是我试过的代码。提前谢谢
Padding(
padding: const EdgeInsets.symmetric(vertical: 28.0),
child:
Container(
child: variable1 == "1"
?Text(
"Test",
style: TextStyle(fontSize: 25),
),
),
),
你必须补充一点,如果条件不对怎么办。您可以在执行(:)之后指定。正如我指定的空文本
child: variable1 == "1"
?Text(
"Test",
style: TextStyle(fontSize: 25),
): Text(""),
由于未添加三元运算符的
else
部分,因此出现错误。
检查下面的代码:它添加了一个空的容器
,如果variable1!=空
Padding(
padding: const EdgeInsets.symmetric(vertical: 28.0),
child: Container(
child: variable1 == "1"
? Text(
"Test",
style: TextStyle(fontSize: 25),
)
: Container(),
),
);
我希望这会有所帮助。如果条件为false,则需要添加要返回的内容。
:
三值操作语法:
[条件]?[如果条件为真,则执行此操作]:[如果条件为假,则执行此操作]
在您的情况下,应该返回一个SizedBox
,因为它更有效
像这样
Container(
child: variable1 == "1"
? Text(
"Test",
style: TextStyle(fontSize: 25)
)
: SizedBox()
)