【发布时间】:2021-11-24 02:42:24
【问题描述】:
我有一个动态类型的列表,称为 selectedList,它应该包含一个对象列表。 每个对象由teacherId和subjectId组成, 像这样 [ {1,2},{4,9},{7,3} ... 等]
我想要实现的是我可以删除对象并将其添加到此列表中,如果对象存在,则应将其删除,如果不存在,则应添加。
我尝试了包含方法,但没有成功!
添加方法
List<dynamic> selectedList = [];
void addTeacher(Teachers teacherId, Subjectt subjectId) {
if (this.selectedList.contains({ *** this method is not working*** })) {
this.selectedList.remove({teacherId, subjectId});
this.myColor = Colors.grey;
print('removed teacher => ${teacherId.toString()}');
} else {
this.selectedList.add({teacherId, subjectId});
this.myColor = AsasColors().blue;
print('added teacher => ${teacherId.toString()}');
}
notifyListeners();
print(selectedList);}
我在哪里调用方法
ListTile(
onTap: () { 卡片.addTeacher( e, cardData.subjects[ 主题索引]); },
leading: CircleAvatar(
backgroundColor:
AsasColors().white,
backgroundImage:
NetworkImage(
e.profilePicture),
),
title: MediumRegularFont(
string: e.name,
),),
请帮助我真的厌倦了这个问题!
【问题讨论】:
-
您在添加或删除对象后调用 setState()?
-
不,我在 changeNotifier 类中编写此方法,并在此方法末尾使用 notifyListeners() 并用 Consumer 包装我的列表图块
标签: list flutter dart mobile collections