Gal*_*dra 2 java kotlin android-studio flutter
这些源代码来自 flutter 教程
Widget _buildRow(WordPairpair) { Final bool hasSaved = _saved.contains(pair); return new ListTile( title: new Text(pair.asPascalCase, style: _biggerFont, ), Trailing: new Icon( // 从这里添加行... hasSaved ? Icons.favorite : Icons.favorite_border, color: alreadySaved ? Colors. red : null, ), // ... 到这里。); }
这部分是什么意思?Trailing: new Icon( // 从此处添加行... hasSaved ? Icons.favorite : Icons.favorite_border, color: hasSaved ? Colors.red : null, ), // ... 到此处。有人可以用相同的逻辑制作该代码的另一种形式吗?我不明白这部分
它是三元运算符(或短 if)。例如,以下内容是等效的:
if (COND) {
X = A;
} else {
X = B;
}
X = COND ? A : B; // if COND condition is met, execute A, otherwise execute B
Run Code Online (Sandbox Code Playgroud)
请参阅这篇文章。
在您的示例中,如果变量alreadySaved为 true,则Icons.favorite使用 以及Colors.red。如果alreadySaved为 false,则与颜色Icons.favorite_border一起使用。null
| 归档时间: |
|
| 查看次数: |
5438 次 |
| 最近记录: |