我正在尝试使用react-bootstrap呈现嵌套的Nav
,只应在其作用域外的给定NavItem
处于活动状态时才显示。如下所示:
<Nav bsStyle="tabs" stacked onSelect={this.onSelect.bind(this)}>
<LinkContainer to="/foo">
<NavItem href="#">Foo</NavItem>
</LinkContainer>
<li className="nested">
<Nav bsStyle="tabs" stacked>
<LinkContainer to="/foo/bar">
<NavItem href="#">Foo/bar</NavItem>
</LinkContainer>
</Nav>
</li>
</Nav>
我们的想法是在顶部li
处于活动状态时显示上面的嵌套NavItem
。
但是,如何在首次运行组件时找出哪个NavItem
处于活动状态,以便将特殊的CSS类应用于嵌套的li
?问题是onSelect
未在活动导航项的Nav
中触发,并且似乎没有明显的方法可以找到它。
我检查了NavItem
(LinkContainer
的孩子,Nav
的孩子)的道具,其active
道具未设为true
什么时候应该。
编辑:我应该有资格知道如何实现这一点,而无需为拥有/控制嵌套的每个ref
指定NavItem
道具元件。
答案 0 :(得分:0)
也许您应该使用Tabs
,因此嵌套的<li>
将位于您想要的Tab
之下,并且只有在它处于活动状态时才会显示。