Ant Design DatePicker 二次开发示例:类型继承及禁用过去日期
以下是一个基于 Ant Design 组件进行二次开发的示例,以 DatePicker 组件为例:
import React from 'react';
import { DatePicker as AntDatePicker } from 'antd';
import moment, { Moment } from 'moment';
interface IProps {
value?: Moment;
onChange?: (date?: Moment) => void;
}
const CustomDatePicker: React.FC<IProps> = ({ value, onChange }) => {
const handleChange = (date?: Moment) => {
if (onChange) {
onChange(date);
}
};
return (
<AntDatePicker
value={value}
onChange={handleChange}
disabledDate={(current) => current && current < moment().endOf('day')}
/>
);
};
export default CustomDatePicker;
在这个示例中,我们定义了一个名为 CustomDatePicker 的组件,它继承自 Ant Design 的 DatePicker 组件,并添加了一个 disabledDate 属性。该属性将禁用 DatePicker 中的过去日期,并且只允许选择未来日期。
我们还定义了一个名为 IProps 的接口,它定义了该组件的属性。在这种情况下,我们定义了 value 和 onChange 属性,这些属性将传递给 Ant Design 的 DatePicker 组件。
最后,我们定义了一个 handleChange 函数,它将在日期更改时调用,并将新日期传递回父组件。
该示例演示了如何基于 Ant Design 组件进行二次开发,同时保留了组件的类型继承,并使用了 tsx 文件扩展名。
原文地址: https://www.cveoy.top/t/topic/lEwv 著作权归作者所有。请勿转载和采集!