首页 > 解决方案 > Flutter 下拉菜单详细信息未保存到 Firestore

问题描述

// 我一直在尝试将下拉菜单中的选定用户保存到 Firestore,但它没有保存。这是我的代码的重要部分我认为所有主要代码都已经存在//我实际上最近在firestore实例文档中存储了一些信息,但似乎我不知道如何使用下拉菜单

    User selectedUser;    
      List<User> users = <User>[const User('Normal User'),const User('Senior'),const User('Junior'), const User('Admin')];

    }

    new DropdownButton<User>(
                  value: selectedUser,
                onChanged: (User newValue) {
                  setState(() {
                    selectedUser = newValue;
                  });
                },
                items: users.map((User user) {
                  return new DropdownMenuItem<User>(

                    value: user,
                    child: new Text(
                      user.name,
                    ),
                  );
                }).toList(),
              ),
                  Future sendData() async{

Firestore.instance.collection('Profession').document()
  .setData({ 'selectedUser': selectedUser,
    })  
  .catchError((error) {
    print('error: $error');
    return null;
  });

标签: firebase-realtime-databasefluttergoogle-cloud-firestore

解决方案


要获取有关操作状态的更多信息,您应该为返回的promise 对象setData提供回调方法,如下所示:

Firestore.instance.collection('Profession').document()
  .setData({ 'selectedUser': selectedUser,
    })
  .then(function() { console.log("Success"); }) 
  .catch(function(error) { console.error("Error: ", error)});

推荐阅读