颤振-我正试图根据api响应打印一个文本框

颤振-我正试图根据api响应打印一个文本框,api,flutter,dart,conditional-statements,Api,Flutter,Dart,Conditional Statements,我有一个返回一些数据的API,在我的API中有一个名为addonCat的数据组 我需要用if检查这个addonCat键的值,如果它不为null,则显示文本框 我写了这样的代码 Text(dish.addonCat == null ? " " : "Available", style: TextStyle( color: Colors.red, fontSize: 14 ), ) 声明为最终列表addonCat的addonCat;在波乔班 这就是我从响应addonCat

我有一个返回一些数据的API,在我的API中有一个名为addonCat的数据组

我需要用if检查这个addonCat键的值,如果它不为null,则显示文本框

我写了这样的代码

Text(dish.addonCat == null ? " " : "Available",
  style: TextStyle(
    color: Colors.red, 
    fontSize: 14
  ),
)
声明为最终列表addonCat的addonCat;在波乔班

这就是我从响应addonCat:json['addonCat']接收值的方式

现在,将为api中的每个数据显示文本框


我做错了什么,任何建议都是有帮助的。

理想情况下,你不会放一个空文本小部件,因为它比只放一个SizedBox要贵,SizedBox是你可以拥有的最简单的小部件,同时仍然占据树中的位置。您可以这样实现它:

dish.addonCat == null || dish.addonCat.isEmpty
  ? SizedBox(width: 0, height: 0),
  : Text("Available",
    style: TextStyle(
      color: Colors.red, 
      fontSize: 14
    ),
  ),

理想情况下,你不会放一个空文本小部件,因为它比只放一个SizedBox要贵,SizedBox是你可以拥有的最简单的小部件,同时仍然占据树中的位置。您可以这样实现它:

dish.addonCat == null || dish.addonCat.isEmpty
  ? SizedBox(width: 0, height: 0),
  : Text("Available",
    style: TextStyle(
      color: Colors.red, 
      fontSize: 14
    ),
  ),

你只要在正确的方向上检查就行了 因此,与其为null,不如检查它是否为空列表,如下所示


你只要在正确的方向上检查就行了 因此,与其为null,不如检查它是否为空列表,如下所示


问题是你的列表==[]不是空的,所以你需要像这样做,dish.addonCat.toString!='[]' ? : 如果可用,则有一个警告相等运算符==对不相关类型的引用的调用。。重新启动后,没有超过完整代码的更改。请仅更改条件。你需要哪种代码等等,我的坏盘子.addonCat.toString!='[]' ? : 可用,toString是一个函数问题是您的列表==[]不为空,因此您需要执行类似的操作,dish.addonCat.toString!='[]' ? : 如果可用,则有一个警告相等运算符==对不相关类型的引用的调用。。重新启动后,没有超过完整代码的更改。请仅更改条件。你需要哪种代码等等,我的坏盘子.addonCat.toString!='[]' ? : 可用时,toString是一个函数