在React.js中,如何使用react-bootstrap创建一个更改活动选项卡的链接?

时间:2016-09-22 15:28:04

标签: javascript twitter-bootstrap reactjs react-router react-bootstrap

我正在使用React-bootstrap Tabs,我想在我的标签内容中创建一个链接,用于更改活动标签并打开第二个标签。

例如:

<Tabs ...>
   <Tab eventKey={1} ...>
      Click this <TabLink eventKey={2} ...>link</TabLink>
   </Tab>
   <Tab eventKey={2} ...>
      <TabLink eventKey={2} ...>
         ...
      </TabLink>
   </Tab>
</Tabs>

显然,TabLink不作为一个组件存在 - 这是我的问题我该怎么做?

1 个答案:

答案 0 :(得分:1)

Tabs组件有一个名为activeKey的道具 - 使用组件的状态来控制该值(as shown in this example),然后使用带有onClick的a标记你的链接。

这是一个例子,改编自我上面链接的例子 - 我现在无法测试它,但它应该给你正确的想法。

const LinkedTabs = React.createClass({
  getInitialState() {
    return {
      key: 1
    };
  },

  goToTab(key) {
    this.setState({key});
  },

  render() {
    return (
      <Tabs activeKey={this.state.key}>
        <Tab eventKey={1} title="Tab 1">
          <span>Click this </span><a onClick={() => this.goToTab(2)}>link</a>
        </Tab>
        <Tab eventKey={2} title="Tab 2">Tab 2 content</Tab>
        <Tab eventKey={3} title="Tab 3" disabled>Tab 3 content</Tab>
      </Tabs>
    );
  }
});