带有 Card(color:) 的 Flutter 条件语句

p47*_*479 5 flutter flutter-layout

如果变量的值大于 10,我试图将下面的颜色从红色更改为绿色。我该怎么做?因为 'color:' 不接受 if, else 语句:

         Card( 
            child: Column(
              children:[
                Text('Calls Taken',
                style: TextStyle(
                  fontSize: 16.0,
                  decoration: TextDecoration.underline,
                ),),
                Text('10'),
              ],
            ),
            color: Colors.redAccent

          ),
Run Code Online (Sandbox Code Playgroud)

上面的卡片小部件在一个继承StatelfulWidgets的类下

先感谢您!!!

Gün*_*uer 10

只需使用三元如果

color: variable > 10 ? Colors.redAccent : Colors.green
Run Code Online (Sandbox Code Playgroud)

  • @12rhombiingridwnocorners `颜色:(variable1 > 10 && s == "foo") ?Colors.redAccent : Colors.green`。如果您想要更复杂的 if/else 组合,您仍然可以这样做。您甚至可以嵌套这些 if/else,但它们会变得难以阅读。在这种情况下,我强烈建议将代码移至方法中。 (2认同)