mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-23 20:01:01 +08:00
Add onSelectionChange for Android TextInput
Summary: public Add an onSelectionChange method to TextInput that works on Android same as iOS Reviewed By: andreicoman11 Differential Revision: D2780131 fb-gh-sync-id: 9b3b8fbd9ea653d43e3107a338e4bc08bde2e8c6
This commit is contained in:
committed by
facebook-github-bot-3
parent
857dd59340
commit
6dc6794881
@@ -216,6 +216,10 @@ var TextInput = React.createClass({
|
||||
* Callback that is called when text input ends.
|
||||
*/
|
||||
onEndEditing: PropTypes.func,
|
||||
/**
|
||||
* Callback that is called when the text input selection is changed
|
||||
*/
|
||||
onSelectionChange: PropTypes.func,
|
||||
/**
|
||||
* Callback that is called when the text input's submit button is pressed.
|
||||
* Invalid if multiline={true} is specified.
|
||||
@@ -474,6 +478,17 @@ var TextInput = React.createClass({
|
||||
},
|
||||
|
||||
_renderAndroid: function() {
|
||||
var onSelectionChange;
|
||||
if (this.props.selectionState || this.props.onSelectionChange) {
|
||||
onSelectionChange = (event: Event) => {
|
||||
if (this.props.selectionState) {
|
||||
var selection = event.nativeEvent.selection;
|
||||
this.props.selectionState.update(selection.start, selection.end);
|
||||
}
|
||||
this.props.onSelectionChange && this.props.onSelectionChange(event);
|
||||
};
|
||||
}
|
||||
|
||||
var autoCapitalize = UIManager.UIText.AutocapitalizationType[this.props.autoCapitalize];
|
||||
var textAlign =
|
||||
UIManager.AndroidTextInput.Constants.TextAlign[this.props.textAlign];
|
||||
@@ -489,6 +504,7 @@ var TextInput = React.createClass({
|
||||
if (childCount > 1) {
|
||||
children = <Text>{children}</Text>;
|
||||
}
|
||||
|
||||
var textContainer =
|
||||
<AndroidTextInput
|
||||
ref="input"
|
||||
@@ -505,6 +521,7 @@ var TextInput = React.createClass({
|
||||
onFocus={this._onFocus}
|
||||
onBlur={this._onBlur}
|
||||
onChange={this._onChange}
|
||||
onSelectionChange={onSelectionChange}
|
||||
onTextInput={this._onTextInput}
|
||||
onEndEditing={this.props.onEndEditing}
|
||||
onSubmitEditing={this.props.onSubmitEditing}
|
||||
|
||||
Reference in New Issue
Block a user