diff --git a/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js b/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js
index 3f6f4d7a..44b5ebac 100644
--- a/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js
+++ b/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js
@@ -420,6 +420,12 @@ describe('components/TextInput', () => {
});
});
+ test('prop "returnKeyType"', () => {
+ const returnKeyType = 'previous';
+ const input = findNativeInput(shallow());
+ expect(input.prop('enterkeyhint')).toEqual(returnKeyType);
+ });
+
test('prop "secureTextEntry"', () => {
let input = findNativeInput(shallow());
expect(input.prop('type')).toEqual('password');
diff --git a/packages/react-native-web/src/exports/TextInput/index.js b/packages/react-native-web/src/exports/TextInput/index.js
index 13697f5a..2cb7c403 100644
--- a/packages/react-native-web/src/exports/TextInput/index.js
+++ b/packages/react-native-web/src/exports/TextInput/index.js
@@ -108,6 +108,7 @@ class TextInput extends Component<*> {
onSubmitEditing: func,
placeholder: string,
placeholderTextColor: ColorPropType,
+ returnKeyType: oneOf(['enter', 'done', 'go', 'next', 'previous', 'search', 'send']),
secureTextEntry: bool,
selectTextOnFocus: bool,
selection: shape({
@@ -131,7 +132,6 @@ class TextInput extends Component<*> {
onEndEditing: func,
onScroll: func,
returnKeyLabel: string,
- returnKeyType: string,
selectionColor: ColorPropType,
selectionState: any,
textBreakStrategy: string,
@@ -179,6 +179,7 @@ class TextInput extends Component<*> {
keyboardType,
multiline,
numberOfLines,
+ returnKeyType,
secureTextEntry,
/* eslint-disable */
blurOnSubmit,
@@ -213,7 +214,6 @@ class TextInput extends Component<*> {
removeClippedSubviews,
renderToHardwareTextureAndroid,
returnKeyLabel,
- returnKeyType,
scrollEnabled,
selectionColor,
selectionState,
@@ -262,6 +262,7 @@ class TextInput extends Component<*> {
autoCorrect: autoCorrect ? 'on' : 'off',
classList: [classes.textinput],
dir: 'auto',
+ enterkeyhint: returnKeyType,
onBlur: normalizeEventHandler(this._handleBlur),
onChange: normalizeEventHandler(this._handleChange),
onFocus: normalizeEventHandler(this._handleFocus),
diff --git a/packages/react-native-web/src/modules/createDOMProps/index.js b/packages/react-native-web/src/modules/createDOMProps/index.js
index 1befcd5c..caf60ea6 100644
--- a/packages/react-native-web/src/modules/createDOMProps/index.js
+++ b/packages/react-native-web/src/modules/createDOMProps/index.js
@@ -182,6 +182,7 @@ const createDOMProps = (component, props, styleResolver) => {
if (nativeID && nativeID.constructor === String) {
domProps.id = nativeID;
}
+
// Link security
// https://mathiasbynens.github.io/rel-noopener/
// Note: using "noreferrer" doesn't impact referrer tracking for https
diff --git a/packages/website/storybook/1-components/TextInput/TextInputScreen.js b/packages/website/storybook/1-components/TextInput/TextInputScreen.js
index cd8dfcd9..8f3c7846 100644
--- a/packages/website/storybook/1-components/TextInput/TextInputScreen.js
+++ b/packages/website/storybook/1-components/TextInput/TextInputScreen.js
@@ -279,6 +279,12 @@ nativeEvent: { key: keyValue } }`}{' '}
}}
/>
+
+