diff --git a/RNTester/js/TextInputExample.android.js b/RNTester/js/TextInputExample.android.js index d682f2044..04d438684 100644 --- a/RNTester/js/TextInputExample.android.js +++ b/RNTester/js/TextInputExample.android.js @@ -320,10 +320,14 @@ class AutogrowingTextInputExample extends React.Component<{}> { width: 100, multiline: true, text: '', + contentSize: { + width: 0, + height: 0, + }, }; } - componentDidReceiveProps(props) { + componentWillReceiveProps(props) { this.setState({ multiline: props.multiline, }); @@ -351,10 +355,12 @@ class AutogrowingTextInputExample extends React.Component<{}> { multiline={this.state.multiline} style={[style, {width: this.state.width + '%'}]} onChangeText={(value) => this.setState({text: value})} + onContentSizeChange={(event) => this.setState({contentSize: event.nativeEvent.contentSize})} {...props} /> Plain text value representation: {this.state.text} + Content Size: {JSON.stringify(this.state.contentSize)} ); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index 7b06e8897..49dad09bf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -117,16 +117,7 @@ public class ReactEditText extends EditText { // TODO: t6408636 verify if we should schedule a layout after a View does a requestLayout() @Override public boolean isLayoutRequested() { - // If we are watching and updating container height based on content size - // then we don't want to scroll right away. This isn't perfect -- you might - // want to limit the height the text input can grow to. Possible solution - // is to add another prop that determines whether we should scroll to end - // of text. - if (mContentSizeWatcher != null) { - return isMultiline(); - } else { - return false; - } + return false; } @Override