interface InputProps {
type: 'input' | 'textarea'
props: | React.InputHTMLAttributes<HTMLInputElement>
| React.TextareaHTMLAttributes<HTMLTextAreaElement>
}
如果type: 'input'
,我想限制props
为React.InputHTMLAttributes<HTMLInputElement>
类型。
答案 0 :(得分:1)
您应该将其定义为2个单独的接口,然后将它们组合:
interface InputProps {
type: 'input'
props: React.InputHTMLAttributes<HTMLInputElement>
}
interface TextAreaProps {
type: 'textarea'
props: React.TextareaHTMLAttributes<HTMLTextAreaElement>
}
type TextFieldProps = InputProps | TextAreaProps;