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

Dan*_*ens 3 dart flutter

如果没有 else 情况,Dart是否支持具有内联的语法?我有时会发现自己处于创建颤振布局的情况,这可能真的很有帮助

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

在这个例子中,空容器是不必要的,所以我希望是这样的:

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

Sai*_*lak 8

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

飞镖有:

x = someVar ?? 0
Run Code Online (Sandbox Code Playgroud)

这里 dart 检查是否 someVar == null ?如果为 true 将 x 值设置为 0,如果为 false 将其设置为 someVar 值

但是 flutter 永远不会让你向它的小部件树添加 null,所以你不能在 row/col 中使用它


Álv*_*ero 6

你可以这样做:

myVar == null ? 0 : myVar
Run Code Online (Sandbox Code Playgroud)

如果myVar是,null则是0,否则myVar