2016-10-09 8 views
1

私はここにコードを1つ持っています。ユーザーがtdセルの上を移動するとツールチップが表示されるはずです。リアブートストラップのツールチップが起動しない

import { DropdownButton, Tooltip } from 'react-bootstrap'; 

... 

$(e.currentTarget).parent().prev().hover(() => { 
    this.showTooltip(tooltipContent); 
}); 

... 

showTooltip(tooltipContent) { 
    console.log(tooltipContent); 
    return (
     <Tooltip placement="top" className="in" id="tooltip-top"> 
      tooltipContent 
     </Tooltip> 
    ); 
} 

console.logには正しいテキストが表示されていますが、ツールチップは表示されず、コンソールにエラーはありません。コンポーネントを正しく呼びますか?助けてください!

UPDATE:

1件の回答に基づいて、私は変更され、これに私のコード:

import { DropdownButton, OverlayTrigger, Tooltip } from 'react-bootstrap'; 

showTooltip(tooltipContent) { 
    console.log(tooltipContent); 
    const tooltip = <Tooltip />; 
    return (
     <OverlayTrigger placement="top" overlay={tooltip}> 
      <span>tooltipContent</span> 
     </OverlayTrigger> 
    ); 
} 

呼び出し関数が同じである:

$(e.currentTarget).parent().prev().hover(() => { 
    this.showTooltip(tooltipContent); 
}); 

しかし、私はまだ表示されません任意のツールチップ..

答えて

1

実際には、反応メソッドストラテジを作成する必要はありません。https://react-bootstrap.github.io/components.html#tooltips

あなたはOverlayTriggeroverlay小道具として<Tooltip/>要素を配置する必要があります:内蔵のドキュメントをチェックアウトすることがあります。

var tooltip = <Tooltip />; 
// ... 
<OverlayTrigger placement="left" overlay={tooltip}> 
    <td>Holy guacamole!</td> 
</OverlayTrigger> 

それとも、それがレイアウトを壊した場合:

var tooltip = <Tooltip />; 
// ... 

<td> 
    <OverlayTrigger placement="left" overlay={tooltip}> 
    Holy guacamole! 
    </OverlayTrigger> 
</td> 

このコードはrender()方法でなければならないだろう。あなたが今行っていることは、ちょうどreturn JSX要素がどこにもありません。そのため、ツールチップが表示されません。コンポーネントのrender()メソッドでレンダリングまたは参照されません。

+0

私はあなたの変更を上記の投稿に更新しましたが、まだ表示されません.. – user3033194

+0

私の答えを更新しました。実際には必要ない 'showTooltip()'関数で何かをレンダリングしようとしています。私は参照してください –

+0

。はい、私は関数を削除することができます...レンダリングメソッドはここで本当の問題です... – user3033194

関連する問題