Antd DatePickerProps 接口报错:'接口只能扩展使用静态已知成员的对象类型或对象类型的交集。' 解决方法

在使用 Antd 的 DatePicker 组件时,如果扩展 DatePickerProps 接口并添加了 value 属性,可能会遇到以下错误:

接口只能扩展使用静态已知成员的对象类型或对象类型的交集。

这是因为 DatePickerProps 接口中的 value 属性类型为 moment.Moment,而我们在扩展接口时将其定义为 string 类型,导致类型不匹配。

解决方法

将 QDatePickerProps 中的 value 属性改为和 DatePickerProps 中 value 属性类型一致的 moment.Moment 类型即可解决报错。

import { DatePickerProps } from 'antd/es/date-picker';
import moment from 'moment';

interface QDatePickerProps extends DatePickerProps {
    value?: moment.Moment
}

代码示例

import React from 'react';
import { DatePicker } from 'antd';
import moment from 'moment';

interface QDatePickerProps extends DatePickerProps {
    value?: moment.Moment
}

const QDatePicker: React.FC<QDatePickerProps> = (props) => {
    return (
        <DatePicker {...props} />
    );
};

const App: React.FC = () => {
    const value = moment('2023-01-01');

    return (
        <div>
            <QDatePicker value={value} />
        </div>
    );
};

export default App;

通过将 QDatePickerProps 中的 value 属性改为 moment.Moment 类型,我们就可以成功扩展 DatePickerProps 接口,并使用 moment.Moment 类型的值作为 DatePicker 组件的 value 属性。

Antd DatePickerProps 接口报错:'接口只能扩展使用静态已知成员的对象类型或对象类型的交集。' 解决方法

原文地址: https://www.cveoy.top/t/topic/lEvB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录