我对打字稿仍然比较绿色,而且为了让它更具功能性,这已成为一种好奇心。
如果我将html输入的属性抽象为自己的对象,那么 fileInputAttrs 的类型是什么?我查看了JSX.IntrinsicElements等,但似乎找不到<input type='file'>
render() {
const fileInputAttrs: SomeType = {
type: 'file',
multiple: true,
ref: (input: HTMLInputElement) => this.elFileInput = input,
onChange: () => this.handleSelectedFile()
};
return (
<div className={'blah'}>
<input {...fileInputAttrs} />
</div>
);
}
答案 0 :(得分:1)
您可以查看React definition file。在这种情况下,它将是React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>
,即:
const fileInputAttrs: React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> = {
type: 'file',
multiple: true,
ref: (input: HTMLInputElement) => this.elFileInput = input,
onChange: () => this.handleSelectedFile()
};