javascript - React-单击按钮时激活下一个选项卡

标签 javascript reactjs react-native material-ui

我的页面上有 4 个选项卡。每个选项卡包含不同的数据。

我在第一个选项卡内有按钮,基本上希望在用户单击该按钮时激活下一个选项卡以显示内容。

     render(){
         return (
        <MuiThemeProvider>
            <div className="background">
                <Header/>
                <div>
                    <Card>
                        <Tabs>
                            <Tab label="General">
                                <div>
                                    <button>Normal button</button> 
     // when user clicks on this button description tab should be active
                                </div>
                            </Tab>
                            <Tab label="Descriptions">
                                <Description />
                            </Tab>

                            <Tab label="Content">
                                <Content />
                            </Tab>

                            <Tab label="Sidebar">
                                  <Sidebar/>
                            </Tab>
                        </Tabs>
                    </Card>
                </div>
            </div>
        </MuiThemeProvider>
    )
}

我怎样才能做到这一点?

最佳答案

这是您必须做的 - 使用受控选项卡。分配一个状态值,该值确定当前打开哪个选项卡,并使用单击按钮激活下一个选项卡。

//The currentTab variable holds the currently active tab
constructor(props) {
    super(props);
    this.state = {
      currentTab: 'a',
    };
 }

handleChange = (value) => {
    this.setState({
      currentTab: value,
    });
 };

render(){
         return (
        <MuiThemeProvider>
            <div className="background">
                <Header/>
                <div>
                    <Card>
                        <Tabs 
                          value={this.state.currentTab}
                          onChange={this.handleChange}
                         >
                            <Tab label="General" value="a">
                                <div>
                                    //Sets the currentTab value to "b" which corresponds to the description tab 
                                    <button onClick={()=>this.handleChange("b")}>Normal button</button> 
                                </div>
                            </Tab>
                            <Tab label="Descriptions" value="b">
                                <Description />
                            </Tab>
                            <Tab label="Content" value="c">
                                <Content />
                            </Tab>
                            <Tab label="Sidebar" value="d">
                                <Sidebar/>
                            </Tab>
                        </Tabs>
                    </Card>
                </div>
            </div>
        </MuiThemeProvider>
    )
}

关于javascript - React-单击按钮时激活下一个选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40696482/

相关文章:

javascript - 当包括胜利图表时, react native slider 变得滞后并且状态值变化最近反射(reflect)出来

javascript - React 无状态组件 clearTimeout 似乎不起作用

android - 删除 react native webview 上的 android 默认错误页面

ios - React-native 无法访问 Parse 数据

javascript - 如果 anchor 内部有 iframe,则无法单击 anchor

javascript - 处理 Bluebird 中的异常

reactjs - 如何使用 reactjs 提交父组件中的子值?

javascript - 我正在尝试使用 React-Native 将按钮放置在屏幕底部,但我真的很难理解如何通过 Flex 支持正确地做到这一点

javascript - 为什么这个向后循环比向前循环慢得多?

javascript - Coffeescript 将文本文件的内容加载到字符串变量中