一尘不染

如何将控件动态添加到Flutter中的列?

flutter

我在中添加了一些小部件
ListView。这样我就可以滚动所有小部件。现在,我需要向中添加一个小部件ListView以加载评论列表。我不能添加在ListView里面的ListView。而且,我不需要单独的滚动条来发表评论。它应该与中的小部件一起滚动ListView。因此,我计划添加Column而不是ListView。有什么帮助可以在动态添加我的评论Columns吗?

new Expanded(
          child:
          new ListView(
            shrinkWrap: true,
            children: <Widget>[

              // Title

              new Padding(padding: const EdgeInsets.only(
                  top: 10.00, left: 10.00),
                child: new Text(
                  _feed.title, textAlign: TextAlign.start,),
              ),

              // content

              new Container(
                child: new Text(
                  _feed.content, textAlign: TextAlign.start,),
              ),

              // Comments List will go here

            ],
          ),
        ),

阅读 1757

收藏
2020-08-13

共1个答案

一尘不染

如果您已有评论数据,只需创建一个列表,然后将其传递到的children属性即可Column。就像是:

var commentWidgets = List<Widget>();
for (var comment in comments) {
  commentWidgets.Add(Text(comment.text)); // TODO: Whatever layout you need for each widget.
}
…

new Expanded(
      child:
      new ListView(
        shrinkWrap: true,
        children: <Widget>[

          // Title

          new Padding(padding: const EdgeInsets.only(
              top: 10.00, left: 10.00),
            child: new Text(
              _feed.title, textAlign: TextAlign.start,),
          ),

          // content

          new Container(
            child: new Text(
              _feed.content, textAlign: TextAlign.start,),
          ),

          // Comments List will go here
          Column(children: commentWidgets,),
        ],
      ),
    ),

如果您还没有注释数据,需要获取它,请在将来完成后使用FutureBuilder来构建UI。

2020-08-13