diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts index ef574ec807..eaa2dcccfc 100644 --- a/types/react-native/index.d.ts +++ b/types/react-native/index.d.ts @@ -1078,6 +1078,12 @@ export type ReturnKeyTypeAndroid = "none" | "previous"; export type ReturnKeyTypeIOS = "default" | "google" | "join" | "route" | "yahoo" | "emergency-call"; export type ReturnKeyTypeOptions = ReturnKeyType | ReturnKeyTypeAndroid | ReturnKeyTypeIOS +export interface TextInputFocusEventData { + target: number, + text: string, + eventCount: number +} + /** * @see https://facebook.github.io/react-native/docs/textinput.html#props */ @@ -1159,7 +1165,7 @@ export interface TextInputProps /** * Callback that is called when the text input is blurred */ - onBlur?: () => void; + onBlur?: (e: NativeSyntheticEvent) => void; /** * Callback that is called when the text input's text changes. @@ -1198,7 +1204,7 @@ export interface TextInputProps /** * Callback that is called when the text input is focused */ - onFocus?: () => void; + onFocus?: (e: NativeSyntheticEvent) => void; /** * Callback that is called when the text input selection is changed. diff --git a/types/react-native/test/index.tsx b/types/react-native/test/index.tsx index b3487057ed..1f506eb124 100644 --- a/types/react-native/test/index.tsx +++ b/types/react-native/test/index.tsx @@ -49,8 +49,10 @@ import { NativeModules, MaskedViewIOS, TextInput, + TextInputFocusEventData, InputAccessoryView, - StatusBar + StatusBar, + NativeSyntheticEvent } from "react-native"; declare module "react-native" { @@ -447,6 +449,25 @@ class TextInputRefTest extends React.Component<{}, {username: string}> { } } +class TextInputFocusBlurEventTest extends React.Component { + handleOnBlur(e: NativeSyntheticEvent) { + } + + handleOnFocus(e: NativeSyntheticEvent) { + } + + render() { + return ( + + ) => this.handleOnBlur(e)} + onFocus={(e: NativeSyntheticEvent) => this.handleOnFocus(e)} + /> + + ) + } +} + class StatusBarTest extends React.Component { render() { StatusBar.setBarStyle("dark-content", true);