# #firebase #flutter #dart #google-cloud-firestore
Вопрос:
Я пытаюсь извлечь данные из firebase и отобразить их на экране с помощью карты. Но я сталкиваюсь со следующей ошибкой :
Null check operator used on a null value
type 'String' is not a subtype of type 'int' of 'index'
Обе эти ошибки я проследил до следующего фрагмента кода. Часть «Дети» в представлении «Список» показывает ошибку, связанную с тем, во что я верю. Есть какие-нибудь предложения по поводу того, что мне следует изменить?
StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection('orders')
.where('SalonID', isEqualTo: widget.aadhar)
.where('Status', isEqualTo: "1")
.snapshots(),
builder: (context, snapshot) {
return ListView(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
children: snapshot.data.docs
.asMap()
.map((index, DocumentSnapshot document) {
getCustomerDetails(
document['CustomerID']);
DateTime bookingdate = DateTime.parse(
document['BookingDate']);
num total = 0;
List<dynamic> services =
document['Requested_Service'];
services.forEach((element) {
total = element['price'];
});
return MapEntry(
index,
AppointmentCard(
paymentMode: document['payment'],
// paymentMode: document['payment'],
date:
'${bookingdate.day.toString()}-${bookingdate.month}-${bookingdate.year}',
price: "$total",
orderid: document['OrderID'],
onPressed: () {
print("Hello");
_showMyDialog();
},
isCompleted: document['Status'],
name: customerDetails[index]
['Name'],
contact: customerDetails[index]
['Contact'],
services: Flexible(
child: ListView.builder(
shrinkWrap: true,
padding:
const EdgeInsets.all(8),
itemCount: document[
'Requested_Service']
.length,
itemBuilder:
(BuildContext context,
int index) {
return Text(document[
'Requested_Service']
[index]['name']);
}),
),
),
);
})
.values
.toList(),
);
// if (ordersList.isEmpty) {
// return SpinKitThreeBounce(
// color: Colors.red,
// );
// } else {
//
// }
},
),
Комментарии:
1. вы можете поделиться своими данными json?
2. {Дата бронирования: 2021-07-26 22:27:19.219045, Статус: 3, Всего мест: 3, Расстояние до салона: 0,15, Запрошенная услуга: [{цена: 100, название: Стрижки}], Идентификатор салона: 101010010, Идентификатор клиента: r6bXvFn4QxUT69kT5H2svgfhNYJ3, слот: 5, Идентификатор заказа: 2321039898, Адрес салона: null, Дата: 9-1-2021, Контакт: 919560656283, цена: 100, временной интервал: 21:00 — 22:00, имя: гость, имя в салоне: Салон отдыха, оплата: POD} Это данные списка заказов
3. [{Email: null, Идентификатор пользователя: r6bXvFn4QxUT69kT5H2svgfhNYJ3, Пол: null, Идентификатор пользователя: 2557, Дата: Отметка времени(секунды=15985449494, наносекунды=869000000), Имя: гость, Контакт: 919560656283}] Это данные пользовательских данных