检查记录是否存在,如果记录存在则禁用按钮

时间:2019-06-18 13:29:11

标签: flutter dart google-cloud-firestore

我有一个按钮来选择时间,并检查Firestore中是否有一个值,如果有,则禁用具有数据库中值的按钮

无论如何,当我按下按钮时,导航器就会起作用

  Future<bool> checkNote(String pickedDay, String pickedTime) async{
  final QuerySnapshot result = await Firestore.instance
      .collection('customers')
      .where('pickedDay',isEqualTo: pickedDay)
      .where('pickedTime', isEqualTo: pickedTime)
      .limit(1)
      .getDocuments();
  final List<DocumentSnapshot> documents = result.documents;
  return documents.length == 1;
  }
...
 new FlatButton(
            key: Key("10:00"),
            onPressed: () {
              String pickedTime = "10:00";
                if (checkNote(pickedDay.toString(), pickedTime) == true){
                  setState(() {
                    print(pickedTime);
                    FlatButton(onPressed:  null,
              child: Text(
              "Picked time is already busy",
              style: TextStyle(fontSize: 16.0),
            ),);
                  });
                }
                else {
                  Navigator.push(
                      context,
                      MaterialPageRoute(
                        builder: (context) =>
                            Approval(
                                picked: pickedDay,
                                timePicked: pickedTime,
                                userPhone: phoneNumber,
                                service: service),
                      ));
                }

            },

            child: Text(
              "10:00",
              style: TextStyle(fontSize: 16.0),
            ),
          ),

那么我该如何实现:

  1. 当用户单击按钮时,将检查Firestore中的现有值,如果值相等,则按钮进入关闭状态,并显示一条消息,提示已选择时间已经过去了。还有

  2. 创建一个StreamBuilder并在应用程序的上一页(其中选择星期几)上基于所选日期显示按钮,例如,如果您选择6月25日,而Firestore值(从6月25日开始),然后页面会关闭这些按钮,这些按钮的值位于Firestore中

0 个答案:

没有答案