Forms Flatter Form Builder和firestore

Forms Flatter Form Builder和firestore,forms,firebase,flutter,google-cloud-firestore,flutter-form-builder,Forms,Firebase,Flutter,Google Cloud Firestore,Flutter Form Builder,我正在使用颤振表单生成器和单选按钮 我当前的文本字段使用其控制器正常工作,然后写入firebase firestore。当我尝试将单选按钮变量指定给写入firebase时,它会写入是和否,即使它正在打印在模拟器或控制台中的电话中选择的答案 如何将其转换为上传正确答案的变量 文件顶部 class _FFPServicesApplicationWidgetState extends State<FFPServicesApplicationWidget> { var data; boo

我正在使用颤振表单生成器和单选按钮

我当前的文本字段使用其控制器正常工作,然后写入firebase firestore。当我尝试将单选按钮变量指定给写入firebase时,它会写入是和否,即使它正在打印在模拟器或控制台中的电话中选择的答案

如何将其转换为上传正确答案的变量

文件顶部

class _FFPServicesApplicationWidgetState extends State<FFPServicesApplicationWidget> {
 var data;
 bool autoValidate = true;
 bool readOnly = false;
 bool showSegmentedControl = true;
 final GlobalKey<FormBuilderState> _fbKey = GlobalKey<FormBuilderState>();


 ValueChanged _onReferral =(val) => print(val);
 var referralOptions = ['Yes', 'No',];

 get _fbUserKey => null;


 void onItemTwoPressed(BuildContext context) => Navigator.push(context, 
 MaterialPageRoute(builder: (context) => HelpWidget()));



TextEditingController taskNameInputController;
TextEditingController taskEmailInputController;
TextEditingController taskPhoneInputController;
TextEditingController taskDescriptionInputController;
TextEditingController taskAgencyInputController;


@override
  initState() {
    taskNameInputController = new TextEditingController();
    taskEmailInputController = new TextEditingController();
    taskPhoneInputController = new TextEditingController();
    taskDescriptionInputController = new TextEditingController();
    taskAgencyInputController = new TextEditingController();


    super.initState();
 }
“提交”按钮

Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      MaterialButton(

                        child: Text("Submit"),
                        onPressed: () {
                        if (_fbKey.currentState.saveAndValidate()) {
                        print(_fbKey.currentState.value);
                        Firestore.instance
                        .collection('email')
                        .add({
                          "1. Name": taskNameInputController.text,
                          "2. Email": taskEmailInputController.text,
                          "3. Phone Number": taskPhoneInputController.text,
                          "4. Description": taskDescriptionInputController.text,
                          "5. Were you Referred": referralOptions,
                          "6. Agency Referring?": taskAgencyInputController.text,
                          "7. Children under 18": childrenOptions,
                          "8. Lincoln County?": countyOptions,
                          "9. Received Support in the past?": supportOptions,
                        });
                          }
                        },
                      ),
                      MaterialButton(
                        child: Text("Reset"),
                        onPressed: () {
                          _fbKey.currentState.reset();
                        },
                      ),
                    ],
                  ),
行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
材料按钮(
儿童:文本(“提交”),
已按下:(){
if(_fbKey.currentState.saveAndValidate()){
打印(_fbKey.currentState.value);
Firestore.instance
.collection(“电子邮件”)
.添加({
“1.Name”:taskNameInputController.text,
“2.电子邮件”:taskEmailInputController.text,
“3.电话号码”:taskPhoneInputController.text,
“4.说明”:taskDescriptionInputController.text,
“5.你是否被推荐”:推荐选项,
“6.代理引用?”:taskAgencyInputController.text,
“7.18岁以下儿童”:儿童翻新,
“8.林肯县?”:县选项,
“9.过去是否获得过支持?”:支持选项,
});
}
},
),
材料按钮(
子项:文本(“重置”),
已按下:(){
_fbKey.currentState.reset();
},
),
],
),
好的

我显然是个笨蛋

这是固定代码

我只需要声明要添加到当前文档中的键,而不是试图使每个键都成为自己的控制器和变量

Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      MaterialButton(

                        child: Text("Submit"),
                        onPressed: () {
                        if (_fbKey.currentState.saveAndValidate()) {
                        print(_fbKey.currentState.value);
                        Firestore.instance
                        .collection('email')
                        .add(_fbKey.currentState.value);
                          }
                        },
                      ),
                      MaterialButton(
                        child: Text("Reset"),
                        onPressed: () {
                          _fbKey.currentState.reset();
                        },
                      ),
                    ],
                  ),
行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
材料按钮(
儿童:文本(“提交”),
已按下:(){
if(_fbKey.currentState.saveAndValidate()){
打印(_fbKey.currentState.value);
Firestore.instance
.collection(“电子邮件”)
.add(_fbKey.currentState.value);
}
},
),
材料按钮(
子项:文本(“重置”),
已按下:(){
_fbKey.currentState.reset();
},
),
],
),
Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      MaterialButton(

                        child: Text("Submit"),
                        onPressed: () {
                        if (_fbKey.currentState.saveAndValidate()) {
                        print(_fbKey.currentState.value);
                        Firestore.instance
                        .collection('email')
                        .add(_fbKey.currentState.value);
                          }
                        },
                      ),
                      MaterialButton(
                        child: Text("Reset"),
                        onPressed: () {
                          _fbKey.currentState.reset();
                        },
                      ),
                    ],
                  ),