如何使用for循环展示数组第一个元素 无需直接通过下标访问
实现方案
你可以直接使用Dart支持的集合for语法来实现需求,无需显式取下标访问第一个元素,以下是两种可行写法:
写法1:用索引遍历(仅渲染第一个元素)
child: Column( children: <Widget>[ for (var i = 0; i < companies.length; i++) if (i == 0) Text( companies[i].name.toUpperCase(), style: TextStyle( color: AppColor.white, ), ), if (companies.isEmpty) const Text('No Company Assigned '), ], ),
写法2:纯for-in遍历(完全不用索引)
利用立即执行函数加展开运算符,遍历到第一个元素就直接返回,不会走后续逻辑:
child: Column( children: <Widget>[ ...() { for (var item in companies) { return [ Text( item.name.toUpperCase(), style: TextStyle(color: AppColor.white), ) ]; } return [const Text('No Company Assigned ')]; }() ], ),
两种写法都和你原有代码的执行效果完全一致,不需要额外修改其他逻辑。
内容的提问来源于stack exchange,提问作者Emmon
相关产品推荐
相关产品推荐

