Compare commits

...

1 Commits

View File

@ -1,4 +1,4 @@
import { memo } from 'react'
import { memo, useMemo } from 'react'
import { DatePicker, } from 'antd'
import moment, { Moment } from 'moment'
import { RangeValue } from 'rc-picker/lib/interface'
@ -20,7 +20,7 @@ export type DateRangeWrapperProps = RangePickerSharedProps<Moment> & {
/**
* Подготавливает значения к передаче в селектор
*
* @param value Массиз из 2 дат
* @param value Массив из 2 дат
* @param isUTC Конвертировать ли значения в UTC
* @returns Подготовленные даты
*/
@ -32,18 +32,23 @@ const normalizeDates = (value?: RangeValue<Moment>, isUTC?: boolean): RangeValue
]
}
export const DateRangeWrapper = memo<DateRangeWrapperProps>(({ value, isUTC, allowClear, ...other }) => (
export const DateRangeWrapper = memo<DateRangeWrapperProps>(({ value, isUTC, allowClear, ...other }) => {
const normalizeValue: RangeValue<Moment> = useMemo(() => normalizeDates(value, isUTC), [value, isUTC])
const defaultValue: RangeValue<Moment> = useMemo(() => normalizeDates([
moment().subtract(1, 'days').startOf('day'),
moment().startOf('day'),
], isUTC), [value, isUTC])
return (
<RangePicker
showTime
allowClear={allowClear}
format={defaultFormat}
defaultValue={[
moment().subtract(1, 'days').startOf('day'),
moment().startOf('day'),
]}
value={normalizeDates(value, isUTC)}
value={normalizeValue?.[0] ? normalizeValue : defaultValue}
{...other}
/>
))
)
})
export default DateRangeWrapper