У меня есть список типа курса. Я использую провайдеров для добавления значений в список. При попытке сохранить данные внутри карты, элемент управления не вводит l oop. Мне было интересно, что заставляет контроль ускользать от l oop. Очень ценю любую помощь. Заранее спасибо!
У меня есть модель класса для курса,
class Course {
List<Map<String, List<String>>> list;
Course(this.list);
}
Внутри класса провайдера,
List<Course> _list = [];
List<Course> get values => _list;
void addValues(String coursename, String newValue) {
// ! Control doesn't enter the loop
values.map((course) {
print('inside values.map');
course.list.map((element) {
element['$coursename'] = ['$newValue'];
print('added map : $element');
});
}).toList();
notifyListeners();
}
Вызов addValues
void clicked(String courseName, String newValue, BuildContext context) {
if (newValue != null) {
Provider.of<CourseProvider>(context, listen: false)
.addValues(courseName, newValue);
}
Navigator.pop(context);
}
Фиктивный список для справки:
List<Course> _list = [
Course(
list: [
{
'Morning_0': ['aaa', 'bbb', 'ccc', 'ddd']
},
{
'Evening_0': ['eee', 'fff', 'ggg']
},
],
), //1
];