【发布时间】:2019-09-29 21:37:33
【问题描述】:
我想创建一个列表,用户想要多少包含 TextField,初始计数为两个,按下按钮时再添加一个,单击时清除所有字段。然后,计算输入的标准差。实现这一目标的最佳方法是什么?制作一个自定义 Row 小部件?使用 List 小部件或 ListView.builder 小部件?
【问题讨论】:
-
你有什么尝试?
我想创建一个列表,用户想要多少包含 TextField,初始计数为两个,按下按钮时再添加一个,单击时清除所有字段。然后,计算输入的标准差。实现这一目标的最佳方法是什么?制作一个自定义 Row 小部件?使用 List 小部件或 ListView.builder 小部件?
【问题讨论】:
children: <Widget>[
Flexible(
fit: FlexFit.tight,
flex: 5,
child: FractionallySizedBox(
widthFactor: 0.9,
child: TextField(
decoration: InputDecoration(
border: OutlineInputBorder()
),
controller: count,
),
),
),
Flexible(
fit: FlexFit.tight,
flex: 3,
child: FractionallySizedBox(
widthFactor: 0.9,
child: RaisedButton(
child: Text("Press here"),
padding: EdgeInsets.symmetric(vertical: 20),
onPressed: () {
fi = int.parse(count.text);
setState(() {});
},
),
),
),
],
),
),
fi == null
? Offstage()
: ListView.builder(
physics: NeverScrollableScrollPhysics(),
padding: EdgeInsets.all(10),
shrinkWrap: true,
itemCount: fi,
itemBuilder: (BuildContext context, int index) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: TextField(
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: index.toString()
),
),
);
},
),
],
),
),
),
); }}
只要你想渲染动态文本字段,你就可以这样做,然后你必须像上面的代码一样,谢谢
【讨论】: