如何渲染图标 x 次 - Flutter

Posted

技术标签:

【中文标题】如何渲染图标 x 次 - Flutter【英文标题】:How to render an Icon x amount of times - Flutter 【发布时间】:2019-04-09 13:20:12 【问题描述】:

我对 dart/flutter 很陌生,如果这是一个明显的解决方案,我深表歉意,但我正在尝试根据模型属性将图标呈现动态次数。

我正在尝试这样的事情:

Row(
  children: <Widget>[
     _starsForRatings()
    ],
  )

List<Icon>_starsForRatings() 
  List<Icon> stars = [];
  for(int i = 0; i < _rating; i++)
    stars.add(Icon(Icons.star));
  
 return stars;

但我收到错误“无法将元素类型 List 分配给列表类型 Widget”,这是有道理的,但我想不出另一种呈现它的方法。

谢谢

【问题讨论】:

【参考方案1】:

你快到了。 问题是您正在将一个列表打包到另一个列表中。 我的意思是_starsForRatings() 已经返回了您需要的列表。在将其分配给行的children 属性之前,您无需将该列表放入另一个列表中。 试试这个:

Row(
  children: _starsForRatings(),
)

List<Icon>_starsForRatings() 
  List<Icon> stars = [];
  for(int i = 0; i < _rating; i++)
    stars.add(Icon(Icons.star));
  
  return stars;

【讨论】:

如果这可行,您可能希望接受答案,因为它可以解决您的问题。谢谢! 干杯,我只需要等待 10 分钟过去才能接受它

以上是关于如何渲染图标 x 次 - Flutter的主要内容,如果未能解决你的问题,请参考以下文章

如何在渲染函数中使用 createElement 创建 Vuetity 徽章和图标

如何在单元格渲染后检查表格视图上的复选标记图标(附件视图)?

如何在动态渲染底部导航视图时删除动画?

有一个手机框架修改软件,软件的图标是一个大大的X,这个软件叫啥名字?

如何在条件渲染中只渲染一次元素?

如何使用Javascript将FontAwesome渲染为SVG图像?