React-Native onPress не работает, если коснуться значка - PullRequest
0 голосов
/ 30 ноября 2018

Я использую act-native-element , чтобы создать группу кнопок , в которую встроен значок из реагировать-нативные-векторные-иконки .

проблема в том, что при прикосновении к значку 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>
          ),
        })

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Благодаря Кайлу Роучу ,

причина в том, что я использую Icon.Button, который легко ощутить.Поэтому, когда я пытаюсь нажать, чтобы изменить ButtonGroup, событие касания будет перехвачено Icon.Button вместо кнопки для buttonGroup.

Я должен использовать Icon вместо Icon.Button.

0 голосов
/ 30 ноября 2018

Попробуйте сделать его функцией.

onPress={() => {this.SetSelected()}}

Если это не работает, предоставьте функцию this.SetSelected.

...