2017-03-29 7 views
0

React-Bootstrapで動的にタブをレンダリングしていますが、どういうわけかeventKeyは値を認識せず、タブはクリックできません。 コードは次のとおりです。ダイナミックEventKeyが動作しないReact-Bootstrap

ここ
var tabButtons = tabsList.map(function(text, index){ 
         if(text.enabled==1) 
         { 
         return <NavItem eventKey={index} key={index}><center> {text.value}</center></NavItem>; } 
         }); 

tabListボタンが有効になっているかどうかについての情報を含む配列です。はいの場合は、ボタン情報を表示します。

私がこれらのタブを呼び出すコード。 index値を使用することができeventKeyない理由

render() { 

     return (
      <div> 
       <Tab.Container id="tab" defaultActiveKey="0"> 
       <Row className="show-grid"> 
        <Col sm={12}> 
        <Nav bsStyle="tabs" justified> 
         {tabButtons} 
        </Nav> 
        </Col> 

        <Col sm={12}> 
        <Tab.Content animation> 
         <Tab.Pane eventKey="0"> 
         <FirstTabContent /> 
         </Tab.Pane> 
         <Tab.Pane eventKey="1"> 
         Second 
         </Tab.Pane> 
         <Tab.Pane eventKey="2"> 
         <ThirdTabContent /> 
         </Tab.Pane> 


        </Tab.Content> 
        </Col> 
       </Row> 
       </Tab.Container> 
      </div> 
      ); 

私は、見当がつかない。 私が紛失しているものは何ですか?おそらく別のアプローチですか?

+0

ボタンが正しくレンダリングされていますか? –

+0

はい、正しく表示されます。私がそれらをクリックすると、彼らはどんな応答も引き起こさないので、私は 'eventKey'のことを丸で囲みました。他にもあるかもしれない:| –

答えて

0

明らかにヒットして試してみたら、うまくいきました。

問題は確かにeventKeyにありました。私はそれが作るものの違いはわかりませんけれども

eventKey={0}

eventKey="0"を置き換え。誰でも?

+1

1は内部にゼロの文字列を返し、もう1つは数字のゼロを返します。本当の小道具が欲しいなら、同じことが起こります。何かを= {true}に修正しない限り、 "true"は期待どおりに動作しません。角かっこは静的な文字列の代わりに "それはJavaScriptの値です"と伝えます。 –

関連する問題