如果没有其他情况,如何创建内联

时间:2019-03-30 18:40:40

标签: dart flutter

如果没有其他情况, Dart 是否支持语法以内联?有时我发现自己处于一种颤振的布局中,这可能真的很有帮助

new Row(children: <Widget>[
    new Text(item.name),
    item.name2 != null ? new Text(item.name2) : new Container(),
]

在此示例中,不需要空容器,因此我希望这样:

new Row(children: <Widget>[
    new Text(item.name),
    item.name2 != null ? new Text(item.name2),
]

4 个答案:

答案 0 :(得分:2)

您可以这样做:

myVar == null ? 0 : myVar

如果myVarnull,则为0,否则为myVar

答案 1 :(得分:1)

如果没有其他则没有内联 但是在您的情况下,您仅使用if来检查它是否为空

飞镖有:

ast_node

在这里dart检查someVar == null吗?如果为true,则将x值设置为0;如果为false,则将其设置为someVar值

但是flutter永远不会让您在其小部件树中添加null,因此您不能在行/列中使用它

答案 2 :(得分:1)

如果你需要调用一个函数,你可以这样使用:

String s; //null

s == null ? print("if shorthand working") : {};

对于变量赋值:

String c = "not null value";
String b; //null

var a = b ?? c;

现在 a = c。

<块引用>

Visual Studio Code 提示:添加此项以忽略一行的 linting // 忽略:不必要的语句

答案 3 :(得分:0)