我正在使用react-native-element 创建一个button group,并嵌入了react-native-vector-icons 中的图标。
问题是,当触摸图标时,onPress不会被触发
constructor(props) {
super(props);
this.state = { selectedIndex: 0 };
this.SetSelected = this.SetSelected.bind(this);
}
SetSelected(index) {
this.setState({ selectedIndex: index });
}
return(
<ButtonGroup
selectedIndex={this.state.selectedIndex}
onPress={this.SetSelected}
selectedButtonStyle={{ backgroundColor: 'blue' }}
buttons={[
{
element: () => (
<Icon.Button
name="slack"
style={{ backgroundColor: 'white' }}
color={'black'}
size={30}
title="Inbox"
>
<Text style={{ color: 'black', fontSize: 15, textAlignVertical: 'center', textAlign: 'center' }}
>
All
</Text>
</Icon.Button>
),
})
答案 0 :(得分:2)
原因是
因为我使用的是Icon.Button
可触摸的。因此,当我尝试点击以更改ButtonGroup时,触摸事件将被Icon.Button
捕获,而不是buttonGroup
的按钮。
我应该使用Icon
而不是Icon.Button
。
答案 1 :(得分:1)
尝试使其具有功能。
onPress={() => {this.SetSelected()}}
如果它不起作用,请提供this.SetSelected函数。