You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中检测JSON API数据含指定字符串以修改边框颜色

解决方案:检测JSON数组中任意位置的"DONE"字段以修改边框颜色

你当前的代码仅判断数组最后一条数据的desc字段是否为"DONE",要实现任意位置存在"DONE"就触发颜色变更,可以使用Dart的any()方法遍历数组,只要有一个元素满足条件就返回true。

修改后的代码如下:

border: Border(
  left: BorderSide(
    color: model.data.any((item) => item.desc == 'DONE')
        ? greenColor
        : redColor,
    width: 3.0,
  ),
),

代码说明

  • model.data.any((item) => item.desc == 'DONE'):遍历model.data数组中的每一项,只要有任意一个元素的desc等于"DONE",就返回true,此时边框设为greenColor;否则返回false,边框用redColor。
  • 这个逻辑完全覆盖了你需要的场景——无论"DONE"出现在数组的开头、中间还是末尾,都能被检测到。

额外提示

如果存在数组为空的情况,可以添加空值判断避免报错:

border: Border(
  left: BorderSide(
    color: model.data.isNotEmpty && model.data.any((item) => item.desc == 'DONE')
        ? greenColor
        : redColor,
    width: 3.0,
  ),
),

内容的提问来源于stack exchange,提问作者JasSum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:10:13