react-native-ui-lib
Version:
<p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p a
24 lines (21 loc) • 723 B
JavaScript
import { useContext, useImperativeHandle, useRef } from 'react';
import FieldContext from "./FieldContext";
const useImperativeInputHandle = (ref, props) => {
const inputRef = useRef();
const context = useContext(FieldContext);
useImperativeHandle(ref, () => {
return {
focus: () => inputRef.current?.focus(),
blur: () => inputRef.current?.blur(),
clear: () => {
inputRef.current?.clear(); // NOTE: This fixes an RN issue - when triggering imperative clear method, it doesn't call onChangeText
props.onChangeText?.('');
},
validate: () => {
return context.validateField();
}
};
});
return inputRef;
};
export default useImperativeInputHandle;