用户操作后如何在屏幕上添加更多小部件

How to add more more widgets on screen in flutter, after user action

我希望此表单的文本字段在用户提交数据时一个接一个地出现在屏幕上。
例如,如下图所示。

更新 使用列表

  List<TextEditingController> controllers = [TextEditingController()];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          ...List.generate(
            controllers.length,
            (index) => TextField(
              autofocus: true,
              controller: controllers[index],
              onSubmitted: (v) {
                controllers.add(TextEditingController());
                setState(() {});
              },
            ),
          ),
        ],
      ),
    );
  }

您可以在状态上创建 bool 并使用它来控制电子邮件的可见性 TextFiled

 bool showEmailField = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        children: [
          TextField(
            onSubmitted: (value) {
              print("call Next one");
              setState(() {
                showEmailField = true;
              });
            },
          ),
          if (showEmailField) TextField(),
        ],
      ),
    );
  }

对于动画,您可以使用ScaleTransition。更多的widget,可以在build方法下创建list,使用conditional state生成widget。