我有一个项目列表,可以选中是否要在另一个视图中查看/取消选中它们。
现在我有一个post
请求,我将保存用户取消选中的所有元素。这是我到目前为止保存的内容,在控制台中打印出来就像这样
[ { sport: [ 9, 19, 58, 18, 24, 4, 8 ] } ]
现在的问题是:如果我再次检查了这些元素中的任何一个,我检查过的那个元素必须从该列表中消失,但无论是检查还是取消选中,它仍然会保留在数据库中。
这是我需要执行上述
的部分 if (_.includes(sportChecked.sport, params.sport)) {
sportChecked.sport = _.difference(newSport, params.sport);
console.log(sportChecked.sport);
}else {
newSport.push(params.sport);
sportChecked.sport = newSport;
}
如您所见,我正在使用_.difference
告诉用户他正在尝试取消选中的这项运动已经在列表中。
这个console.log(sportChecked.sport);
是向我显示我在终端中打印的数组的那个。那么我该怎样做才能使用lodash
从列表中删除选中的项目?
更新
从另一点看这个,可能是:如果你检查了DOM中的元素,数组上的非元素必须在那里,如果元素已经在列表中,那我就有_difference,所以,一次用户检查了DOM中的项目,假设id为9的元素是该数组的第一个元素,那么该元素就不再存在了。