如何将活动状态添加到选项卡

我开始学习 React Native 2 周。在学习的同时,我尝试发展我想学习的东西,小东西。

我创建了导航选项卡,但没有使用路由器,只有状态。在过去的 3 天里,我试图弄清楚如何在每个选项卡上放置活动类,以查看当我单击每个选项卡时,活动类具有不同的颜色。

这是我的 App.js

import React, { Fragment } from "react";
import { StyleSheet, View, TouchableOpacity, Text } from "react-native";

import Gator from "./Gator";
import Croco from "./Croco";
import Style from "./Style";

class App extends React.Component {
  state = {
    index: 0
  };

  getTab = index => {
    switch (index) {
      case 0:
        return <Gator />;
      case 1:
        return <Croco />;
      case 2:
        return <Style />;
      default:
        return <Croco />;
    }
  };

  setIndex(int) {
    this.setState({ index: int });
  }

  render() {
    return (
      <Fragment>
        <View style={style.tabsWrapper}>
          <View style={style.tabsContainer}>
            <TouchableOpacity onPress={() => this.setIndex(0)}>
              <View style={style.tabItem}>
                <Text style={[style.tabText]}>Croco</Text>
              </View>
            </TouchableOpacity>
            <TouchableOpacity onPress={() => this.setIndex(1)}>
              <View style={style.tabItem}>
                <Text style={[style.tabText]}>Gator</Text>
              </View>
            </TouchableOpacity>
            <TouchableOpacity onPress={() => this.setIndex(2)}>
              <View style={style.tabItem}>
                <Text style={[style.tabText]}>Style</Text>
              </View>
            </TouchableOpacity>
          </View>
        </View>
        <View>{this.getTab(this.state.index)}</View>
      </Fragment>
    );
  }
}

const style = StyleSheet.create({
  tabsWrapper: {
    backgroundColor: "#eeeeee",
    width: "100%",
    height: "5%",
    borderBottomColor: "#cccccc",
    borderBottomWidth: 2,
    marginBottom: 20
  },
  tabsContainer: {
    flexDirection: "row",
    flexWrap: "wrap",
    justifyContent: "space-between",
    // margin: 30,
    // marginTop: 10,
    padding: 5,
    paddingTop: 10,
    marginLeft: 30,
    marginRight: 30,
    paddingBottom: 0,
    height: "20%"
  },
  tabItem: {
    alignItems: "center"
  },

  tabText: {
    fontFamily: "DINRoundPro-Bold",
    fontSize: 16,
    color: "#aaaaaa"
  }
});

export default App;

每个选项卡的其他组件只是在屏幕上显示一些文本。

我在网上测试过,所以你可以在react native sandbox上看到它

有人可以帮我解决这种情况吗?

拉维巴古尔91

你可以有条件地添加一个类来让你Tab活跃起来,像这样style={[ style.tabText, this.state.index===0 && style.activeTabText ]}

<View style={style.tabsContainer}>
    <TouchableOpacity onPress={()=> this.setIndex(0)}>
        <View style={style.tabItem}>
            <Text style={[ style.tabText, this.state.index===0 && style.activeTabText ]}>
                Croco
            </Text>
        </View>
    </TouchableOpacity>
    <TouchableOpacity onPress={()=> this.setIndex(1)}>
        <View style={style.tabItem}>
            <Text style={[ style.tabText, this.state.index===1 && style.activeTabText ]}>
                Gator
            </Text>
        </View>
    </TouchableOpacity>
    <TouchableOpacity onPress={()=> this.setIndex(2)}>
        <View style={style.tabItem}>
            <Text style={[ style.tabText, this.state.index===2 && style.activeTabText ]}>
                Style
            </Text>
        </View>
    </TouchableOpacity>
</View>

并添加样式,例如,

const style = StyleSheet.create({

  ...

  activeTabText: {
    color: "red",
    backgroundColor: "#fff",
    borderRadius: 5
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular-UI选项卡:将类添加到特定选项卡

来自分类Dev

将viewpager添加到选项卡

来自分类Dev

将动画添加到jQuery内容选项卡

来自分类Dev

如何将主视图控制器添加到不是选项卡栏项目之一的选项卡栏控制器?

来自分类Dev

如何将引导选项卡设置为活动状态?

来自分类Dev

如何将工作空间(选项卡组)添加到PhpStorm?

来自分类Dev

如何将地图添加到选项卡式活动(Android)

来自分类Dev

如何将片段添加到选项卡式活动?

来自分类Dev

R Shiny:如何将数据表添加到动态创建的选项卡

来自分类Dev

将添加选项卡添加到TemplateRole

来自分类Dev

将课程添加到Drupal 7选项卡

来自分类Dev

如何将面板添加到Extjs选项卡

来自分类Dev

将选项卡添加到现有项目

来自分类Dev

jQuery将类添加到活动选项卡

来自分类Dev

使用片段将图像添加到选项卡

来自分类Dev

将选项卡添加到特定列

来自分类Dev

如何将选项卡添加到ActionBar中以进行滑动选项卡?

来自分类Dev

如何将“音频/视频属性”选项卡添加到Caja?

来自分类Dev

ConEnu:如何将一个选项卡设置为在多个选项卡中处于活动状态?

来自分类Dev

如何将选项卡控件添加到RichTextBox?

来自分类Dev

如何将图标添加到我的选项卡布局活动

来自分类Dev

如何将 xtype 作为项目添加到 Extjs tabpanel 中动态创建的选项卡

来自分类Dev

如何将多个选项卡关闭事件处理程序添加到 JavaFX 选项卡?

来自分类Dev

如何将 PyQt4 中的选项卡添加到我的文本编辑器?

来自分类Dev

在 Bootstrap 4 的滑块导航中,如何将“活动”类添加到当前选项卡?

来自分类Dev

如何将编辑器添加到特定选项卡的整个工作表保护中?

来自分类Dev

如何将卡从“待处理”选项卡添加到“已批准”?Vue.js

来自分类Dev

将记录添加到不同的选项卡

来自分类Dev

如何将列添加到选项卡中?CSS、HTML

Related 相关文章

  1. 1

    Angular-UI选项卡:将类添加到特定选项卡

  2. 2

    将viewpager添加到选项卡

  3. 3

    将动画添加到jQuery内容选项卡

  4. 4

    如何将主视图控制器添加到不是选项卡栏项目之一的选项卡栏控制器?

  5. 5

    如何将引导选项卡设置为活动状态?

  6. 6

    如何将工作空间(选项卡组)添加到PhpStorm?

  7. 7

    如何将地图添加到选项卡式活动(Android)

  8. 8

    如何将片段添加到选项卡式活动?

  9. 9

    R Shiny:如何将数据表添加到动态创建的选项卡

  10. 10

    将添加选项卡添加到TemplateRole

  11. 11

    将课程添加到Drupal 7选项卡

  12. 12

    如何将面板添加到Extjs选项卡

  13. 13

    将选项卡添加到现有项目

  14. 14

    jQuery将类添加到活动选项卡

  15. 15

    使用片段将图像添加到选项卡

  16. 16

    将选项卡添加到特定列

  17. 17

    如何将选项卡添加到ActionBar中以进行滑动选项卡?

  18. 18

    如何将“音频/视频属性”选项卡添加到Caja?

  19. 19

    ConEnu:如何将一个选项卡设置为在多个选项卡中处于活动状态?

  20. 20

    如何将选项卡控件添加到RichTextBox?

  21. 21

    如何将图标添加到我的选项卡布局活动

  22. 22

    如何将 xtype 作为项目添加到 Extjs tabpanel 中动态创建的选项卡

  23. 23

    如何将多个选项卡关闭事件处理程序添加到 JavaFX 选项卡?

  24. 24

    如何将 PyQt4 中的选项卡添加到我的文本编辑器?

  25. 25

    在 Bootstrap 4 的滑块导航中,如何将“活动”类添加到当前选项卡?

  26. 26

    如何将编辑器添加到特定选项卡的整个工作表保护中?

  27. 27

    如何将卡从“待处理”选项卡添加到“已批准”?Vue.js

  28. 28

    将记录添加到不同的选项卡

  29. 29

    如何将列添加到选项卡中?CSS、HTML

热门标签

归档