Как я могу получить TabBarIOS, чтобы выскочить на вершину стека навигации с помощью act-native?

У меня есть следующие настройки TabBarIOS.Item:

          <TabBarIOS.Item
            selected={this.state.selectedTab === 'tab1'}
            title='Tab 1'
            icon={require('./Components/Icons/IconImages/Tab1Icon.png')}
            onPress={() => {
              this.setState({
                selectedTab: 'tab1'
              });

             }}>
            <MyNavigatorIOS client={this.state.client} initialStep={this.state.initialStep} />

          </TabBarIOS.Item>

Я пытаюсь использовать onPress событие, чтобы стрелять this.props.navigator.popToTop(); согласно этому примеру в реагировать родные документы. Разница, однако, в том, что я хочу TabBarIOS onPress событие, чтобы стрелять popToTop() а не ребенок MyNavigatorIOS составная часть. Как я могу сделать это?

1 ответ

Решение

У меня была та же проблема, что вы можете сделать, это добавить ссылку на ваш вид и навигатор внутри него, вот так:

          this.refs.timeline.refs.timelineNavigator.popToTop()

Таким образом, код TabBar выглядит так:

    <TabBarIOS.Item
      systemIcon="history"
      title="Timeline"
      badge={this.state.timelineBadge}
      selected={this.state.selectedTab === 'timeline'}
      onPress={() => {
        if (this.state.selectedTab === 'timeline') {
          this.refs.timeline.refs.timelineNavigator.popToTop()
        } else {
          this.setState({ selectedTab: 'timeline' })
        }
      }}>
      <Timeline
        ref="timeline"
      /> 
    </TabBarIOS.Item>
Другие вопросы по тегам