我为我的 react-project 自定义了一个 react-select 下拉组件。当我尝试使用 React.HTMLAttributes
示例代码:
import * as React from "react";
import ReactSelect from 'react-select';
export interface SelectProps extends React.HTMLAttributes<HTMLSelectElement | HTMLInputElement> {
options: Array<any>;
isMulti: boolean;
isDisabled: boolean;
};
const Select: React.FC<SelectProps> = (props: SelectProps) => {
return (<div>
<label htmlFor={props.id}>{props.label}</label>
<div>
<ReactSelect
{...props}
/>
</div>
</div>)
}
export default Select;
使用上述代码后,无法获取props.id或props.name等
答案 0 :(得分:0)
您可以直接从 Props
包中导入 react-select
类型。您可能想要扩展它以要求同时定义 label
和 id
。
import React from "react";
import ReactSelect, { Props } from "react-select";
type SelectProps = Props & {
id: string;
label: string;
};
const Select: React.FC<SelectProps> = (props) => {
return (
<div>
<label htmlFor={props.id}>{props.label}</label>
<div>
<ReactSelect {...props} />
</div>
</div>
);
};