如何将ngRx的跟随选择器转换为布尔值返回?

问题描述

当前,我使用以下过滤器返回给定日期范围内的一些数据列表。实际上,在组件中,我仅检查列表长度,并据此检查变量的值为True和False。我需要知道如何将其直接转换为布尔值,这是正确的吗?

export const selectModel = (planedDate: Date) => createSelector(
 selectDrugReviews,(reviews: Reviewmodel[]) => reviews.filter(date => date.startDateTime.getTime() <= planedDate.getTime() && (date.endDateTime !== undefined ? date.endDateTime.getTime() >= planedDate.getTime() : true))
);

解决方法

您需要使用管道map而不是过滤器。

map((date) => <condition here>));
,

尝试一下

export const selectModel = (planedDate: Date) => createSelector(
 selectDrugReviews,(reviews: ReviewModel[]) => reviews.map((date) => date.startDateTime.getTime() <= planedDate.getTime() && (date.endDateTime !== undefined ? date.endDateTime.getTime() >= planedDate.getTime() : true))
);