如果声明甚至不能正常发挥作用

pra*_*ale 0 dart flutter

这里有一个有趣的问题:

简单的代码块if-else bock.在其他地方阻止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(
Run Code Online (Sandbox Code Playgroud)

ber*_*ert 6

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

if(true) 
{
    Color _orderStatus = Colors.blue;  
}
Run Code Online (Sandbox Code Playgroud)

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

if(true) 
{
    _orderStatus = Colors.blue;  
} 
Run Code Online (Sandbox Code Playgroud)