0

我在我的应用程序上使用了选项卡视图反应本机,我想通过更改设置来隐藏一些选项卡,但我不知道该怎么做。目前,我有 3 个选项卡:个人、公司和材料,在设置中我可以检查选项卡,例如,当未选中公司时,不应出现在选项卡视图中

constructor(props) {
    super(props);
    this.state = {
      index: 0,
      routes: [
        { key: 'personal', title: 'personal' },
        { key: 'company', title: 'company' },
        { key: 'material', title: 'material' }
      ],
    };
  }
_renderTabBar = props => {
    return (
      <View>
        <TabBar
          {...props}
          indicatorStyle={{backgroundColor: 'white'}}
          renderIcon={
            props => this._getTabBarIcon(props)
          }
          onTabPress={ tab => this.changeTabs(tab)}
          style={{backgroundColor: "#5243af"}}
          tabStyle={styles.tabStyle}
          labelStyle={{fontSize: Fonts.moderateScale(15), marginBottom: 10}}
          contentContainerStyle={{height: Metrics.HEIGHT * 0.1, elevation: 0}}
        />
      </View>
    );
  };
<TabView style={{ backgroundColor: 'white'}}
                navigationState={this.state}
                renderTabBar={ this._renderTabBar}
                onIndexChange={index => this.setState({ index })}
                initialLayout={{ width: Dimensions.get('window').width}}
                renderScene={this._renderScene} />
4

2 回答 2

0

您应该制作自定义标签栏并根据条件管理标签可见性,更多了解请点击此链接

在 TabNavigator 中隐藏 TabBar 项

它会帮助你

于 2019-11-20T11:42:00.977 回答
-1
tabBar hidden =>
    <TabView 
        renderToTabbar={ ()=> <></> }
    />
于 2020-06-11T06:50:11.847 回答