mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-07 09:26:06 +08:00
docs: fix limit demo (#50287)
This commit is contained in:
parent
a6b064bdf2
commit
f662194e4d
@ -1,24 +1,52 @@
|
||||
import React from 'react';
|
||||
import { DatePicker, Space, Typography } from 'antd';
|
||||
import type { DatePickerProps } from 'antd';
|
||||
import type { Dayjs } from 'dayjs';
|
||||
|
||||
const { RangePicker } = DatePicker;
|
||||
|
||||
const getYearMonth = (date: Dayjs) => date.year() * 12 + date.month();
|
||||
|
||||
// Disabled 7 days from the selected date
|
||||
const disabled7DaysDate: DatePickerProps['disabledDate'] = (current, { from }) => {
|
||||
const disabled7DaysDate: DatePickerProps['disabledDate'] = (current, { from, type }) => {
|
||||
if (from) {
|
||||
return Math.abs(current.diff(from, 'days')) >= 7;
|
||||
const minDate = from.add(-6, 'days');
|
||||
const maxDate = from.add(6, 'days');
|
||||
|
||||
switch (type) {
|
||||
case 'year':
|
||||
return current.year() < minDate.year() || current.year() > maxDate.year();
|
||||
|
||||
case 'month':
|
||||
return (
|
||||
getYearMonth(current) < getYearMonth(minDate) ||
|
||||
getYearMonth(current) > getYearMonth(maxDate)
|
||||
);
|
||||
|
||||
default:
|
||||
return Math.abs(current.diff(from, 'days')) >= 7;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
// Disabled 6 months from the selected date
|
||||
const disabled6MonthsDate: DatePickerProps['disabledDate'] = (current, { from }) => {
|
||||
const disabled6MonthsDate: DatePickerProps['disabledDate'] = (current, { from, type }) => {
|
||||
if (from) {
|
||||
const curMonth = current.year() * 12 + current.month();
|
||||
const fromMonth = from.year() * 12 + from.month();
|
||||
return Math.abs(fromMonth - curMonth) >= 6;
|
||||
const minDate = from.add(-5, 'months');
|
||||
const maxDate = from.add(5, 'months');
|
||||
|
||||
switch (type) {
|
||||
case 'year':
|
||||
return current.year() < minDate.year() || current.year() > maxDate.year();
|
||||
|
||||
default:
|
||||
return (
|
||||
getYearMonth(current) < getYearMonth(minDate) ||
|
||||
getYearMonth(current) > getYearMonth(maxDate)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user