У меня есть автозаполнение адреса Google и форма реагирования- bootstrap, и я не могу настроить соответствие типов для ref
.
class ProfileForm extends React.Component<PropsFromRedux, ProfileFormState> {
private myRef = React.createRef<FormControl<any>>();
private autocomplete?: google.maps.places.Autocomplete;
...
}
Элемент управления моей формы выглядит следующим образом:
<Form.Control ref={this.myRef} type="text" placeholder="Enter address"
defaultValue={this.props.userProfile.location!.formatted_address}
/>
Вот как я создаю автозаполнение:
function forceCast<T>(input: any): T {
// @ts-ignore <-- forces TS compiler to compile this as-is
return input;
}
//@ts-ignore
this.autocomplete = new google.maps.places.Autocomplete(
forceCast<HTMLInputElement>(this.myRef.current),
options);
Мой вопрос:
Как мне это сделать без принудительного приведения?
Автозаполнение Google хочет HTMLInputElement
(я пробовал множество других типов и прочего), но лучшее, что я могу получить с реакцией - bootstrap это FormControl
(я не могу понять, как "привести" это к чему-либо другому, чем показано на рисунке).