我的应用程序中有一个<InputField>
组件,其属性类型定义如下:
interface InputFieldProps extends React.HTMLAttributes<HTMLInputElement> {
customProp: string;
}
我的组件如下所示:
const InputField: React.FC<InputFieldProps> = ({ customProp, ...htmlProps }) => {
return (
<input {...htmlProps} />
);
};
我希望现在可以将prop disabled
或required
传递给该组件,因为这些属性是HTMLInputElement类型定义的一部分。
类型'IntrinsicAttributes & Props'上不存在属性'disabled'
我尝试将disabled作为disabled={true}
传递,也尝试只传递disabled
,但都没有成功。不过,我可以将placeholder
作为prop传递。因此HTMLInputElement类型定义中的一些属性似乎可以工作,而其他属性则不行。
1条答案
按热度按时间new9mtju1#
使用
React.InputHTMLAttributes<HTMLInputElement>
并确保每个附加属性(如customProp
)都不会到达您的input
。在下面的示例中,由于customProp
是自己析构的,因此htmlProps
将只包含input
属性。