android - 如何在 Flutter 中动态附加到 Column 小部件的子级

Flutter 是一个相当新的框架,因此对简单任务没有太多帮助。我要特别问的是如何将 Card 小部件添加到 Column 小部件。下面提供了源代码以帮助解释我的意思。

假设我有一个创建新卡片的函数,如下所示:

buildRow(barcode, letter, name, price) {
  return new Card(
    child: new Column(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: <Widget>[
        new ListTile(
          leading: new CircleAvatar(
            child: new Text(letter),
          ),
          title: new Text(name),
          subtitle: new Text("\$" + price),
          trailing: new Text(
            "x1",
            style: new TextStyle(color: Colors.lightBlue),
            textScaleFactor: 1.2,
          ),
        ),
      ],
    ),
  );
}
var snack = buildRow("091918229292", "C", "Crackers", "\$4.00");
var fruit = buildRow("091928229292", "P", "Pomegranate", "\$2.00");
var juice = buildRow("091948229292", "K", "Kiwi Juice", "\$20.00");

我有以下屏幕/页面:

class Home extends StatefulWidget {
  @override
  HomePage createState() => new HomePage();
}

class HomePage extends State<Home> {
  @override
  Widget build(BuildContext context) {
    return new Column(children: <Widget>[

    ]);
  }
}

假设提供的所有代码都在同一个文件中。如何在主屏幕的列小部件的子项中添加“零食”、“水果”和“果汁”?

最佳答案

如果您手动更新源,这是一个基本示例。

      Column(
        children: _createChildren(),
      )

///////

这是创建您提供给列的小部件列表的方法

  List<int> someList = [1, 2, 3, 4, 5];
  List<Widget> _createChildren() {
    return new List<Widget>.generate(someList.length, (int index) {
      return Text(someList[index].toString());
    });
  }

//////

因此,当您更新列表时,请在 setState

中进行
  void _somethingHappens() {
    setState(() {
      someList.add(6);
    });
  }

现在,如果您从流中接收数据,则可以检查 StreamBuilder,或者如果它来自 Future,则可以使用 FutureBuilder.

这个例子也可以在常规的 Builder

中完成

https://stackoverflow.com/questions/50671619/

相关文章:

dart - Flutter - 显示来自相机的本地镜像

flutter - Flutter 中按钮中的自定义图像

dart - 根据当前查看的页面更改 AppBar 的颜色和文本

ios - 关闭 Cupertino 对话 Action Flutter

dart - flutter 相机插件

email - 使用 Flutter 的电子邮件进行 Firebase 身份验证

flutter - 如何在 Flutter 中实现交错 GridView ?

dart - 在小部件或状态上保留最终字段?

dart - NumberFormat 未找到 flutter

dart - API调用后有状态小部件的 flutter 计时问题