onRadioPressed
似乎没有被称为 - 我做错了什么?我还需要获取"clicked"项中包含的文本.
我相信我可以得到它event.nativeEvent.text
,对吗?
谢谢你的帮助.
class RadioBtn extends React.Component {
constructor(props) {
super(props);
this.state = {
};
}
onRadioPressed(event) {
console.log('RADIOBUTTON PUSHED:');
}
render() {
return (
<View style={styles.radioGrp}>
<View style={styles.radioContainer}>
<TouchableHighlight onpress={() => this.onRadioPressed.bind(this)} underlayColor='#f1c40f'>
<Text style={styles.radio}>Left</Text>
</TouchableHighlight>
</View>
<View style={styles.radioContainer}>
<TouchableHighlight onpress={() => this.onRadioPressed.bind(this)} underlayColor='#f1c40f'>
<Text style={styles.radio}>Right</Text>
</TouchableHighlight>
</View>
</View>
);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
所以在这里:
<TouchableHighlight onpress={() => this.onRadioPressed.bind(this)} underlayColor='#f1c40f'>
<Text style={styles.radio}>Left</Text>
</TouchableHighlight>
Run Code Online (Sandbox Code Playgroud)
首先onpress
改为onPress
.在这里,() => this.onRadioPressed.bind(this)
您指定一个箭头函数,它返回另一个函数,this.onRadioPressed.bind(this)
但您永远不会触发它.
正确的方法:
// You can do either this
<TouchableHighlight onPress={() => this.onRadioPressed()} underlayColor='#f1c40f'>
<Text style={styles.radio}>Left</Text>
</TouchableHighlight>
// Or you can do either this
<TouchableHighlight onPress={this.onRadioPressed.bind(this)} underlayColor='#f1c40f'>
<Text style={styles.radio}>Left</Text>
</TouchableHighlight>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13348 次 |
最近记录: |