带反应的Bootstrap:手风琴不起作用

时间:2014-09-17 09:17:52

标签: twitter-bootstrap-3 reactjs react-bootstrap

我正在尝试运行一个bootstrap手风琴,我的面板是React类。不知怎的,这不起作用:

<ReactBootstrap.Accordion>
   <WontWorkPanel pkey={1} />
   <WontWorkPanel pkey={2} />
</ReactBootstrap.Accordion>

http://jsfiddle.net/3azxcquh/

WontWorkPanel是React类,它使用键this.props.pkey呈现单个面板。

有人可以解释一下我做错了什么,或者如何做得更好?

谢谢!

1 个答案:

答案 0 :(得分:3)

Accordion使用新道具克隆其子项,这些道具控制Panel组件的显示/隐藏。要允许它仍然使用自定义Panel包装器,您需要将包装器中的道具传递给Panel子项:

小提琴:http://jsfiddle.net/ssorallen/3azxcquh/6/

var WontWorkPanel = React.createClass({
  render: function() {
    return this.transferPropsTo( 
      <ReactBootstrap.Panel header={"WontWork " + this.props.key} key={this.props.key}>
        Anim pariatur cliche reprehenderit, enim eiusmod high life
        accusamus terry richardson ad squid. 3 wolf moon officia aute,
        non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt
        laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua pu
      </ReactBootstrap.Panel>
    );
  }
});