Я использую lib реагирующий на загрузку и мне нужно использовать компонент ввода.Я знаю, как набрать простой ввод, но у меня проблема с FormControl
class Search extends Component<Props, { searchInput: string }> {
static defaultProps = {}
state = {
searchInput: ""
}
// This one works for input
searchInputSimple = (e: React.FormEvent<HTMLInputElement>): void => {
const { getSearch } = this.props
this.setState(
{ searchInput: e.currentTarget.value },
(): void => getSearch(this.state.searchInput)
)
}
// for FormControl. What can I use exept any?
searchInput = (e: React.FormEvent<any>): void => {
const { getSearch } = this.props
this.setState(
{ searchInput: e.currentTarget.value },
(): void => getSearch(this.state.searchInput)
)
}
render() {
const { searchInput } = this.state
return (
<>
<InputGroup className="mb-3">
<FormControl placeholder="Search" value={searchInput} onChange={this.searchInput} />
</InputGroup>
<input
placeholder="Search"
value={searchInput}
onChange={this.searchInputSimple}
className="form-control"
/>
</>
)
}
}
Я пытался понять и посмотреть на FormControl.d.ts
import Feedback from './Feedback';
import { BsPrefixComponent } from './helpers';
interface FormControlProps {
innerRef?: React.LegacyRef<this>;
size?: 'sm' | 'lg';
plaintext?: boolean;
readOnly?: boolean;
disabled?: boolean;
value?: string;
onChange?: React.FormEventHandler<this>;
type?: string;
id?: string;
isValid?: boolean;
isInvalid?: boolean;
}
declare class Form<
As extends React.ReactType = 'input'
> extends BsPrefixComponent<As, FormControlProps> {
static Feedback: typeof Feedback;
}
Если я использую только HTMLInputElement
Я получаю эту ошибку
Ошибка типа: Тип '(e: FormEvent) => void' нельзя назначить для типа '(событие: FormEvent & FormControlProps >>) => void'.Типы параметров 'e' и 'event' несовместимы.Тип «FormEvent & FormControlProps >>» нельзя назначить типу «FormEvent».Введите 'Pick, HTMLInputElement>, "children" |"форма" |"стиль" |"название" |"шаблон" |"реф" |"ключ" |"defaultChecked" |... еще 268 ... |"width"> & BsPrefixProps <...> & FormControlProps 'не хватает следующих свойств из типа' HTMLInputElement ': выравнивание, автозаполнение, автофокус, dirName и еще 245.
Как это сделатьэто и не использовать какой-либо тип?Должен ли это быть псевдоним HTMLInputElement и что-то еще?