【发布时间】:2019-09-06 14:58:49
【问题描述】:
我整天都在寻找答案,我正在尝试在表单中动态添加字段(目前,通过创建一个创建字段的循环),我找不到我的问题的任何答案.如果你能做点什么,请告诉我:
我正在使用我的 Fieldset 类创建一个视图,这是我的表单,我在里面放了一个字段列表:
List<Field> fieldset;
void main() {
for (int i = 0; i < 10; i++) {
Field field = Field();
fieldset.add(field);
};
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final appTitle = 'Form Validation Demo';
return MaterialApp(
title: appTitle,
home: Scaffold(
appBar: AppBar(
title: Text(appTitle),
),
body: Fieldset(fieldset: List<Field>()),
),
);
}
}
如您所见,我只是启动应用程序,使用循环创建一些字段并将其放入 Fieldset Widget 继续:
class Fieldset extends StatefulWidget {
final List<Field> fieldset;
final state = _FieldsetState();
@override
_ FieldsetState createState() {
return _FieldsetState();
}
Fieldset({this.fieldset});
}
class _FieldsetState extends State<Fieldset> {
final _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return Form(
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget> [
// widget.fieldset.forEach((f) => f.build(context)) ==> THIS DOESN'T WORK
,
RaisedButton(
onPressed: () {
if (_formKey.currentState.validate()) {
Scaffold.of(context)
.showSnackBar(SnackBar(content: Text('processing')));
}
},
child: Text('Submit'),
)
]));
}
}
我真的希望你能帮助我,看起来我错过了一些东西..
【问题讨论】:
标签: android mobile flutter dart