前段时间写的小程序端有个收藏功能,临上线前发现收藏功能有问题,单独一个收藏跟取消都没问题,但是数据多了以后就会出现加载图标错误的问题
各方面打印之后发现是在比对阶段 forEach如果比对到一个数据的标识字段一样后,会继续往后比对,最后一个生效,所以会出现问题。换了find方法后正好,因为当前选项只有一个,所以比对到一个就可以返回,一个都没有就代表没有收藏。
// 找到当前是否收藏
let coll = res.data.rows.find(item => item.stationId == currentId)
if(coll == undefined){
that.collect = false
}else{
that.collect = true
}