У меня есть кнопка, чтобы выбрать время, и я проверяю, есть ли значение в 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),
),
),
Итак, как мне реализовать:
Когда пользователь нажимает на кнопку, происходит проверка существующего значения вFirestore, и если есть равное значение, то кнопка переходит в состояние выключения, и отображается сообщение о том, что выбранное время уже занято.И
Создайте StreamBuilder, и он отображает кнопки на основе выбранного дня на предыдущей странице приложения (где выбран день недели), т.е., например, если вывыберите 25 июня, и Firestore имеет значение от 25 июня, затем на странице отключаются те кнопки, значения которых находятся в Firestore