typescript - Ako zaostriť TextInput po stlačení tlačidla v React Native
Mám komponent TextInput, ktorý je upraviteľný iba pri jeho prvom načítaní. Mal by sa stať upraviteľným a automaticky zaostreným, keď je stlačené tlačidlo. Ak som to správne pochopil, vlastnosť autoFocus funguje iba pri prvom načítaní. Existuje nejaký spôsob, ako to implementovať pri zmene stavu?
import { FunctionComponent } from 'react';
import { View, TextInput, TextInputProps } from 'react-native';
interface InputTextBoxProps {
editingState: boolean;
}
type InputProps = TextInputProps & InputTextBoxProps;
const InputTextBox: FunctionComponent<InputProps> = ({editingState, ...props}) => {
return (
<View>
<TextInput
{...props}
multiline={true}
style={styles.textStyle}
editable={editingState}
autoFocus={editingState}
>
</TextInput>
</View>
);
};
Odpoveď č. 1
const refInput = React.useRef(null);
...
<TextInput
{...props}
ref={refInput}
multiline={true}
style={styles.textStyle}
editable={editingState}>
</TextInput>
funkcia pri kliknutí na tlačidlo
refInput.current.focus()
