【问题标题】:How to render an Icon x amount of times - Flutter如何渲染图标 x 次 - 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”,这是有道理的,但我想不出另一种呈现它的方法。

谢谢

【问题讨论】:

    标签: dart flutter


    【解决方案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 分钟过去才能接受它
    猜你喜欢
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 2021-12-21
    • 2019-08-11
    • 2021-09-19
    • 2021-08-24
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多