Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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
Javascript 如何将react选项卡链接到下拉列表?_Javascript_Reactjs_React Tabs - Fatal编程技术网

Javascript 如何将react选项卡链接到下拉列表?

Javascript 如何将react选项卡链接到下拉列表?,javascript,reactjs,react-tabs,Javascript,Reactjs,React Tabs,通常,每当单击tablist列表中的选项卡时,都会显示tablist面板中相应索引中的文本。例如,如果单击“选项2”,将显示文本“面板2”。 现在,我希望每当单击select元素中的任何选项时,都会发生同样的事情。 我尝试将所有选项添加到tablist中的select标记中,但当我添加时,它会将名称更改为“[object]”,并且每当单击该选项时,该选项卡都不会更改 你能帮我解决这个问题吗 多谢各位 <Tabs defaultIndex={0} onSelect={index =>

通常,每当单击tablist列表中的选项卡时,都会显示tablist面板中相应索引中的文本。例如,如果单击“选项2”,将显示文本“面板2”。 现在,我希望每当单击select元素中的任何选项时,都会发生同样的事情。 我尝试将所有选项添加到tablist中的select标记中,但当我添加时,它会将名称更改为“[object]”,并且每当单击该选项时,该选项卡都不会更改

你能帮我解决这个问题吗 多谢各位

<Tabs defaultIndex={0} onSelect={index => console.log(index)}>
    <div className = "dropMenu">
        <select  className = 'tabSelect' value={this.state.value} onChange={this.tabSwitch}>
            <option value="Option">
                Option
            </option>
            <option value="Option2">
                Option 2
            </option>
            <option value="Option3">
                Option 3
            </option>
        </select>
    </div>
    <TabList>
        <Tab>
            Option
        </Tab>
        <Tab>
            Option 2
        </Tab>
        <Tab>
            Option 3
        </Tab>
    </TabList> 
    <div className='Panel'>
        <TabPanel>
            Panel 
        </TabPanel>
        <TabPanel>
            Panel 2
        </TabPanel>
        <TabPanel>
            Panel 3
        </TabPanel>
    </div> 
</Tabs>
console.log(索引)}>
选项
选择2
选择3
选项
选择2
选择3
面板
小组2
小组3

我对您的代码做了一些更改。您可以这样做:

  constructor(props) {
    super(props);

    this.state = {
      value: 0,
    };
  }

  setValue = (index) => {
    this.setState({
      value: index,
    });
  };

  render() {
    return (
      <Tabs
        selectedIndex={this.state.value}
        onSelect={(index) => console.log(index)}
      >
        <div className="dropMenu">
          <select
            className="tabSelect"
            onChange={(e) => {
              this.setValue(e.target.selectedIndex);
            }}
          >
            <option value="Option">Option</option>
            <option value="Option2">Option 2</option>
            <option value="Option3">Option 3</option>
          </select>
        </div>
        <TabList>
          <Tab onClick={() => this.setValue(0)}>Option</Tab>
          <Tab onClick={() => this.setValue(1)}>Option 2</Tab>
          <Tab onClick={() => this.setValue(2)}>Option 3</Tab>
        </TabList>
        <div className="Panel">
          <TabPanel> Panel</TabPanel>
          <TabPanel>Panel 2</TabPanel>
          <TabPanel>Panel 3</TabPanel>
        </div>
      </Tabs>
    );
  }
构造函数(道具){
超级(道具);
此.state={
值:0,
};
}
设置值=(索引)=>{
这是我的国家({
值:索引,
});
};
render(){
返回(
console.log(索引)}
>
{
此.setValue(例如,target.selectedIndex);
}}
>
选项
选择2
选择3
此.setValue(0)}>选项
this.setValue(1)}>选项2
this.setValue(2)}>选项3
面板
小组2
小组3
);
}

我对您的代码做了一些更改。您可以这样做:

  constructor(props) {
    super(props);

    this.state = {
      value: 0,
    };
  }

  setValue = (index) => {
    this.setState({
      value: index,
    });
  };

  render() {
    return (
      <Tabs
        selectedIndex={this.state.value}
        onSelect={(index) => console.log(index)}
      >
        <div className="dropMenu">
          <select
            className="tabSelect"
            onChange={(e) => {
              this.setValue(e.target.selectedIndex);
            }}
          >
            <option value="Option">Option</option>
            <option value="Option2">Option 2</option>
            <option value="Option3">Option 3</option>
          </select>
        </div>
        <TabList>
          <Tab onClick={() => this.setValue(0)}>Option</Tab>
          <Tab onClick={() => this.setValue(1)}>Option 2</Tab>
          <Tab onClick={() => this.setValue(2)}>Option 3</Tab>
        </TabList>
        <div className="Panel">
          <TabPanel> Panel</TabPanel>
          <TabPanel>Panel 2</TabPanel>
          <TabPanel>Panel 3</TabPanel>
        </div>
      </Tabs>
    );
  }
构造函数(道具){
超级(道具);
此.state={
值:0,
};
}
设置值=(索引)=>{
这是我的国家({
值:索引,
});
};
render(){
返回(
console.log(索引)}
>
{
此.setValue(例如,target.selectedIndex);
}}
>
选项
选择2
选择3
此.setValue(0)}>选项
this.setValue(1)}>选项2
this.setValue(2)}>选项3
面板
小组2
小组3
);
}