【问题标题】:How can i store data from check-box to Firebase in flutter如何在颤动中将数据从复选框存储到 Firebase
【发布时间】:2020-11-19 19:36:03
【问题描述】:

我想将复选框中的数据添加到 Flutter 中的 firebase 数据库,我该怎么做?请参阅下面的代码,如果是表单字段,我们使用控制器,但在复选框中我如何从中获取数据?,在代码中一切都很好,但我卡在了这一行

_databaseReference.child("resources").child("Yas").set({
    //what should i code here !!
});
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/material.dart';


class TestDart extends StatefulWidget {
  final String title;
  TestDart({this.title});
  @override
  _TestDartState createState() => _TestDartState();
}

class _TestDartState extends State<TestDart> {
  final _databaseReference = FirebaseDatabase.instance.reference();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Testing"),
        centerTitle: true,
      ),
      body: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            Exercise(
              title: "Yash",
            ),
            Exercise(
              title: "Deepak",
            ),
            Exercise(
              title: "Yashwant",
            ),
            SizedBox(
              height: 25,
            ),
            Container(
              child: Center(
                child: SizedBox(
                  height: 55,
                  width: 150,
                  child: RaisedButton(
                    onPressed: () {
                      _databaseReference.child("resources").child("Yas").set({
                        //what should i code here !!
                      });

                      Navigator.pushReplacement(
                          context,
                          PageTransition(
                              child: SubmitPage(),
                              type: PageTransitionType.rightToLeft));
                    },
                    shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(15)),
                    color: Colors.deepPurple,
                    child: Text("Submit",
                        style: TextStyle(
                          fontSize: 20,
                          color: Colors.white,
                        )),
                  ),
                ),
              ),
            )
          ],
        ),
      ),
    );
  }
}

class Exercise extends StatefulWidget {
  final String title;

  Exercise({this.title});

  @override
  _ExerciseState createState() => _ExerciseState();
}

class _ExerciseState extends State<Exercise> {
  bool selected = false;

  @override
  Widget build(BuildContext context) {
    return ListTile(
      title: Text(widget.title),
      trailing: Checkbox(
          value: selected,
          onChanged: (bool val) {
            `setState`(() {
              selected = val;
            });
          }),
    );
  }
}

【问题讨论】:

    标签: firebase flutter dart firebase-realtime-database flutter-layout


    【解决方案1】:

    您可以使用布尔值。 添加这个

    bool flag = false;
    
    RaisedButton(
           onPressed: () {
                  setState(){
                      !flag;
                    }  
          _databaseReference.child("resources").child("Yas").set({
                                'enabled': flag,
                          });
    

    【讨论】:

    • 这只会给出真或假值,但问题会存储值
    • 你的意思是标签值吗?
    • 是的,我想存储选定的值,例如 Deepak pr 可能是 Yash
    猜你喜欢
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 2021-02-27
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多