如果语句不起作用,甚至扑朔迷离

时间:2018-09-18 04:36:26

标签: dart flutter

这里有一个有趣的问题:

if-else bock的简单代码块。在else内部阻止if-else阶梯。尽管我写的是真的Color _orderStatus = Colors.blue;,但这还是行不通的。

  1. 我用谷歌搜索没有解决办法。

2。如果我们打印orderItem['order_status'].toString() == "DELIVERED",这是正确的。

 if((orderList.length -1) < index)
{
  return Container(child: null); 
} else {

  dynamic orderItem = orderList[index];
  Color _orderStatus = Colors.yellow;

  if(true) 
  {
    Color _orderStatus = Colors.blue;  
  } else if(orderItem['order_status'].toString() == "DELIVERED") {
    Color _orderStatus = Colors.green;  
  } else if(orderItem['order_status'].toString() == "DISPATCHED") {
    Color _orderStatus = Colors.purple;  
  } else if(orderItem['order_status'].toString() == "CANCEL") {
    Color _orderStatus = Colors.red;  
  }

return Container(

1 个答案:

答案 0 :(得分:6)

我不是Dart程序员,但我认为:

if(true) 
{
    Color _orderStatus = Colors.blue;  
}

创建一个仅在花括号范围内有效的新变量,您可能要更改现有值:

if(true) 
{
    _orderStatus = Colors.blue;  
}