Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我使用材质ui时,如何在ReactJS中选择选项卡?_Reactjs_Material Ui - Fatal编程技术网

当我使用材质ui时,如何在ReactJS中选择选项卡?

当我使用材质ui时,如何在ReactJS中选择选项卡?,reactjs,material-ui,Reactjs,Material Ui,在这个例子中,我不知道如何在刷新网页后保持选项卡处于选中状态。有一个问题与以前提出的问题相同。然而,这并没有得到回答。有人能给我一些提示或代码示例吗 return ( <div className={classes.root}> <AppBar position="static"> <Tabs value={value} onChange={handleChange} aria-label="simple tabs examp

在这个例子中,我不知道如何在刷新网页后保持选项卡处于选中状态。有一个问题与以前提出的问题相同。然而,这并没有得到回答。有人能给我一些提示或代码示例吗

  return (
    <div className={classes.root}>
      <AppBar position="static">
        <Tabs value={value} onChange={handleChange} aria-label="simple tabs example">
          <Tab label="Item One" {...a11yProps(0)} />
          <Tab label="Item Two" {...a11yProps(1)} />
          <Tab label="Item Three" {...a11yProps(2)} />
        </Tabs>
      </AppBar>
      <TabPanel value={value} index={0}>
        Item One
      </TabPanel>
      <TabPanel value={value} index={1}>
        Item Two
      </TabPanel>
      <TabPanel value={value} index={2}>
        Item Three
      </TabPanel>
    </div>
  );
}

返回(

您可以为每个选项卡创建不同的路线,并将该信息存储在路线中

路线示例:-

https://uz2qz.csb.app/tabs/1 //tab index 1
https://uz2qz.csb.app/tabs/2 //tab index 2
https://uz2qz.csb.app/tabs/3 //tab index 3
选项1:-

在页面呈现中,使用
窗口。位置从URL获取选项卡索引(如果有),并使用该信息设置当前选项卡索引,并将其作为道具传递给
选项卡
组件

选项2:-

使用反应路由器。 使用route component使用path变量创建管线


...
...
TabsComponent.js

    class TabsComponent extends React.Component {

      render() {
        const { match } = this.props;
        const { params } = match;
        const tabIndex = params.tabIndex ? params.tabIndex : 0;

        return (
          <div className={classes.root}>
            <AppBar position="static">
              <Tabs value={tabIndex} onChange={handleChange} aria-label="simple tabs example">
                <Tab label="Item One" {...a11yProps(0)} />
                <Tab label="Item Two" {...a11yProps(1)} />
                <Tab label="Item Three" {...a11yProps(2)} />
              </Tabs>
            </AppBar>
            <TabPanel value={value} index={0}>
              Item One
            </TabPanel>
            <TabPanel value={value} index={1}>
              Item Two
            </TabPanel>
            <TabPanel value={value} index={2}>
              Item Three
            </TabPanel>
          </div>
        );
      }
    }

类选项卡组件扩展了React.Component{
render(){
const{match}=this.props;
常量{params}=match;
常量tabIndex=params.tabIndex?params.tabIndex:0;
返回(
项目一
项目二
项目三
);
}
}
    class TabsComponent extends React.Component {

      render() {
        const { match } = this.props;
        const { params } = match;
        const tabIndex = params.tabIndex ? params.tabIndex : 0;

        return (
          <div className={classes.root}>
            <AppBar position="static">
              <Tabs value={tabIndex} onChange={handleChange} aria-label="simple tabs example">
                <Tab label="Item One" {...a11yProps(0)} />
                <Tab label="Item Two" {...a11yProps(1)} />
                <Tab label="Item Three" {...a11yProps(2)} />
              </Tabs>
            </AppBar>
            <TabPanel value={value} index={0}>
              Item One
            </TabPanel>
            <TabPanel value={value} index={1}>
              Item Two
            </TabPanel>
            <TabPanel value={value} index={2}>
              Item Three
            </TabPanel>
          </div>
        );
      }
    }