如何在Flutter小部件中使用If语句

时间:2018-11-07 14:50:22

标签: dart flutter

我是新手,正在练习简单的应用程序。但是现在,我可以插入一行条件语句,但是我想添加If语句。因此,我可以添加更多声明。我怎么做?这是我的代码。请看一看。我要在达到目标数量时添加更多颜色颜色:_moneyCounter> 1000吗? Colors.green:Colors.red,

Expanded(
              child: Center(
                child: Text(
                  '\USD $_moneyCounter',
                  style: TextStyle(
                    color: _moneyCounter > 1000 ? Colors.green : Colors.red,
                    fontSize: 40.0,
                  ),
                ),
              ),
            ),

2 个答案:

答案 0 :(得分:2)

您可以使用多个三元运算符:

+-- 10 lines: ------------------------------------------------------------------------------
c.Application.log_format = '[%(name)s]%(highlevel)s %(message)s'
+--  3 lines: # Set the log level by value or name.
foo.bar = 1

但是出于可读性考虑,我不建议您这样做,因此您可以使用将返回颜色的函数:

_moneyCounter > 1000 ? Colors.green : _moneyCounter > 2000 ? Colors.Blue : Colors.red

然后使用该功能:

Color getMyColor(int moneyCounter) {
 if (moneyCounter == 1000) then {
    return Colors.green;
 } else
  if (moneyCounter == 2000) then {
   return Colors.red;
  }
}

答案 1 :(得分:0)

如果你在列中使用

Column(children:[  if (e["index"] == 1)
              Text(e["text"].toString(),
                  textAlign: TextAlign.center,
                  style: TextStyle(color: Colors.green[900])),
            if (e["index"] == 2)
              Text(e["text"].toString(),
                  textAlign: TextAlign.center,
                  style: TextStyle(color: Colors.green)),
            if (e["index"] == 3)
              Text(e["text"].toString(),
                  textAlign: TextAlign.center,
                  style: TextStyle(color: Colors.amber)),
            if (e["index"] == 4)
              Text(e["text"].toString(),
                  textAlign: TextAlign.center,
                  style: TextStyle(color: Colors.orange)),
            if (e["index"] == 5)
              Text(e["text"].toString(),
                  textAlign: TextAlign.center,
                  style: TextStyle(color: Colors.red)),
          ])