反应日期选择器突出显示未按预期工作

问题描述

我遇到了一个问题,即我在 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))

看来我需要使用地图。我认为这些数组是相同的。希望有专家指点一下。