问题描述
我遇到了一个问题,即我在 React Date Picker 中指出要突出显示的日期没有突出显示。
更新:我解决了这个问题,希望对某人有所帮助。
let detectChangesspy: SpyInstance
const createComponent = createRoutingFactory({
component: HomeComponent,detectChanges: false,providers: [ChangeDetectorRef]
})
beforeEach(() => {
spectator = createComponent()
component = spectator.component
const changeDetectorRef = spectator.fixture.debugElement.injector.get(ChangeDetectorRef)
detectChangesspy = jest.spyOn(changeDetectorRef,'detectChanges')
service = spectator.inject(RoomService)
service.search.mockReturnValueOnce(of(new RoomSearchDTO()))
}
it('should xyz',fakeAsync(() => {
component.searchLabsByTextField()
expect(detectChangesspy).toHaveBeenCalled()
}))
这是对上述问题的修复。我把最后一行改成
const handleDayClick = (value) => {
var tempselectedBlackOutDays = selectedBlackOutDays;
const selectedindex = tempselectedBlackOutDays.findindex((selectedDay) =>
isEqual(selectedDay,value)
);
if (selectedindex >= 0) {
tempselectedBlackOutDays.splice(selectedindex,1);
} else {
tempselectedBlackOutDays.push(value);
}
setSelectedBlackOutDays(tempselectedBlackOutDays);
};
解决方法
这是对上述问题的修复。我把最后一行改成
setSelectedBlackOutDays(tempselectedBlackOutDays.map((x) => x))
看来我需要使用地图。我认为这些数组是相同的。希望有专家指点一下。