yanlu

fix:预约状态修改问题

import { PeopleShipRecommendHeadComponent } from './PeopleShipRecommendHeadComponent'
import { RmhRecommendDTO } from 'wdBean';
import { faceDetector } from '@kit.CoreVisionKit';
@Component
export struct PeopleShipRecommendComponent {
... ...
... ... @@ -28,7 +28,7 @@ const TAG: string = 'ReserveMorePage';
@Component
struct ReserveMorePage {
@State data: LazyDataSource<ContentDTO> = new LazyDataSource();
@State reserveList: ReserveItemBean[] = []
private reserveList: ReserveItemBean[] = []
topSafeHeight: number = AppStorage.get<number>('topSafeHeight') as number;
type: number = 2;
pageSize: number = 20;
... ... @@ -312,8 +312,15 @@ struct ReserveMorePage {
Logger.debug(TAG,'是否关注元数据2:' +` ${JSON.stringify(element.subscribe)}`)
element.subscribe = !element.subscribe
Logger.debug(TAG,'是否关注元数据3:' +` ${JSON.stringify(element.subscribe)}`)
this.data.reloadData()
this.isShow = true
if (element.subscribe) {
this.reservedIds.push(element.liveId.toString())
}else {
const num = this.reservedIds.indexOf(element.liveId.toString())
if (num >= 0 && num < this.reservedIds.length) {
this.reservedIds.splice(num, 1)
}
}
}
}
})
... ... @@ -349,6 +356,7 @@ struct ReserveMorePage {
if (this.currentPage == 1) {
this.data.clear()
this.reserveList = []
this.reservedIds = []
}
this.data.push(...liveReviewDTO.list)
//批量查询关注状态
... ... @@ -396,7 +404,12 @@ struct ReserveMorePage {
Logger.debug(TAG,'是否预约数据:' +` ${JSON.stringify(result)}`)
if (result && result.length > 0) {
this.reserveList.push(...result)
this.data.reloadData()
// this.reserveStatus = res;
result.map((item: ReserveItemBean) => {
if (item.subscribe) {
this.reservedIds.push(item.liveId.toString())
}
})
}
}).catch(() =>{
// this.data.push(...list)
... ... @@ -409,11 +422,7 @@ struct ReserveMorePage {
// 判断是否预约
isReserved(item: ContentDTO) {
const objc = this.getAttentionItem(item)
if (objc) {
return objc.subscribe
}
return false
return this.reservedIds.includes(item.objectId)
}
getAttentionItem(item: ContentDTO) {
... ... @@ -460,9 +469,17 @@ struct ReserveMorePage {
Logger.debug(TAG,'是否关注元数据:' +` ${JSON.stringify(element.subscribe)}`)
element.subscribe = !element.subscribe
Logger.debug(TAG,'是否关注元数据1:' +` ${JSON.stringify(element.subscribe)}`)
this.data.reloadData()
if (element.subscribe) {
this.reservedIds.push(element.liveId.toString())
}else {
const num = this.reservedIds.indexOf(element.liveId.toString())
if (num >= 0 && num < this.reservedIds.length) {
this.reservedIds.splice(num, 1)
}
}
}
})
}
this.isLoadingAttention = false
this.liveId = ''
... ...