Я пытаюсь создать небольшое приложение, в котором пользователь может создавать карты sh. Сначала я заставляю их создать заголовок, затем все заголовки будут перечислены, как только пользователь нажмет на этот заголовок, он будет переведен на другой экран, где он сможет создать вопрос и ответ.
Моя Проблема в том, что я создал Список типа Карта , но не могу понять, как добавить и сохранить в списки, которые созданы на картах.
Модель
class Cards {
//final List<String> question;
//final List<String> answer;
//final String title;
final String uid;
final List<Map<String, dynamic>> classes;
Cards({ this.uid, this.classes });
}
Домашняя страница
Именно здесь она начинается, elList.add запускается только один раз, когда пользователь создает заголовок.
Cards indexData = snapshot.data;
List<Map<String, dynamic>> elList = [];
for (var i = 0; i < indexData.classes.length; i++) {
elList.add(indexData.classes[i]);
}
elList.add({
"title": title,
"question": [],
"answer": []
});
DatabaseService(uid: userId.uid).settingUserData(elList);
// Send the values to another screen where the user creates Q&A
MaterialPageRoute(
builder: (context) => ViewIndex(
questions: elList[index]["question"],
answers: elList[index]["answer"]
),
),
Служба
Именно здесь она сохраняется в БД. Моя проблема здесь заключается в попытке выяснить, как добавить в списки внутри карты, потому что это только добавляет в список классы , который индексирует все карты. Это выполняется при создании заголовка. Пытаетесь выяснить, как добавить в списки внутри карты и сохранить их? Я пробовал что-то вроде: "classes [question]" и "classes.question", но ни одна из них не работает.
Future settingUserData(List<Map<String, dynamic>> listCard) async {
return await _collref.document(uid).setData({
"classes": listCard
});
}
ViewIndex
Здесь я получаю их из домашнего файла в качестве параметров через виджет. Здесь пользователь создает вопросы и ответы. Попытка добавить к ним дает мне ошибку, говоря, что они фиксированной длины . Так что здесь я также должен сохранить их в базе данных, но, как видно из моего служебного файла выше, я не знаю, как сохранить их отдельно без необходимости создания нового индекса в списке классы это не то, что я хочу.
widget.answers.add("foo")
widget.questions.add("foo")
DatabaseService(uid: userId.uid).settingUserData();