【问题标题】:How can I handle a list of checkboxes according to a list from FireStore created in flutter?如何根据在颤振中创建的 FireStore 列表处理复选框列表?
【发布时间】:2021-03-05 08:52:37
【问题描述】:

我在 FireStore 中的文档上有一个 ListView 映射,我想分别检查每个文件并在再次按下时取消选中它

你能告诉我他们按照这个代码的方式吗?因为我是初学者

这是我的代码:

class MyTask extends StatefulWidget {
  @override
  _MyTaskState createState() => _MyTaskState();
}

class _MyTaskState extends State<MyTask> {
 
  @override
  Widget build(BuildContext context) {
  
    return Scaffold(
  
      body: Container(
        child: StreamBuilder(
            stream: FirebaseFirestore.instance
                .collection('users')
                .doc('all')
                .collection(user.uid)
                .snapshots(),
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                return ListView(
                    children: snapshot.data.docs
                        .map<Widget>((DocumentSnapshot document) {
                      return Container(
                        width:200,
                         height:200,
                        child: Column(
                   
                          children: [
                      Text('Title : ${document.data()['title''),
                      
                         
                                Checkbox(
                                    value:,
                                    onChanged: (val) {
                                      

                                    }),
);
}).tolist();

【问题讨论】:

    标签: firebase flutter listview dart google-cloud-firestore


    【解决方案1】:

    我在 FireStore 文档中添加了一个 bool 值,并在代码中执行了以下操作

    GestureDetector(
                                      onTap: () {
                                        document.data()['done'] == true
                                            ? AuthServices().unCheckShared(
                                                document.id, _collectionId)
                                            : AuthServices().updateShared(
                                                document.id, _collectionId);
                                      },
                                      child: document.data()['done']
                                          ? Icon(Icons.crop_square, size: 30)
                                          : Icon(Icons.check_box, size: 30),
         
                               ),
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      相关资源
      最近更新 更多