【发布时间】:2017-04-15 18:35:43
【问题描述】:
我正在收听视图中三个输入的onChangeText。但不是使用三个单独的onChangeText 处理程序。我想将输入的输入状态名称传递给处理程序并从中设置状态。
我尝试了这个示例,但 e.target.value 返回 undefined。传入name 作为第二个参数,e 作为指向元素的指针:
import React, { Component } from 'react';
import { View, StyleSheet, Alert, Image, TextInput } from 'react-native';
import { Constants } from 'expo';
export default class App extends Component {
state = {
setValue: 0,
travelValue: 0,
runValue: 0
};
_handleTextChange (e, name) {
var change = {};
change[name] = e.target.value;
this.setState(change);
}
render() {
return (
<View style={styles.container}>
<TextInput
value={this.state.setValue}
keyboardType = 'numeric'
onChangeText={this._handleTextChange.bind(this, 'setValue')}
style={{ width: 200, height: 44, padding: 8 }}
/>
<TextInput
value={this.state.travelValue}
keyboardType = 'numeric'
onChangeText={this._handleTextChange.bind(this, 'travelValue')}
style={{ width: 200, height: 44, padding: 8 }}
/>
<TextInput
value={this.state.runValue}
keyboardType = 'numeric'
onChangeText={this._handleTextChange.bind(this, 'runValue')}
style={{ width: 200, height: 44, padding: 8 }}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'space-between',
paddingTop: Constants.statusBarHeight,
paddingBottom: '20%',
backgroundColor: '#ecf0f1',
},
});
问题:
如何在一个处理程序中处理多个更改事件?
【问题讨论】:
标签: javascript reactjs onchange