2015-10-14 10 views
6

Próbowałem użyć etykietki bootstrap na przycisku, aby wyświetlić pełne informacje. Ale to nie działa. Etykieta nie jest wyświetlana.Etykietka narzędziowa Bootstrap nie działa z react.js

Oto moja reagować kod:

<button type="button" ref="data" value={this.props.data} onClick={this.submit} className="btn btn-default btn-block" data-toggle="tooltip" data-placement="top" title={ this.props.data }> 
{ this.props.data.length > 20 ? 
this.props.data.substring(0, 20)+'...' : this.props.data } 
</button> 

I nawet próbować włączyć go za pomocą metody javascript Bootstrap niczym:

<script> 
$(function() { 
    $('[data-toggle="tooltip"]').tooltip() 
}) 
</script> 

Co należy zrobić dla niego? Dziękuję ..

+0

jest to z powodu docelowego, gdzie nie można zobaczyć? .. spróbuj zmienić miejsce na dane? .. – DTH

+1

Po prostu wpadłem na ten sam problem, naprawiony przy użyciu komponentu tooltip reakcji-bootstrap (który sprawdza się dobrze, nawet jeśli nie jestem zadowolony z używania ogromnej ilości kodu na coś prostego). –

+0

Możliwy duplikat [W jaki sposób używać podpowiedzi bootstrap z React?] (Https://stackoverflow.com/questions/33656024/how-do-use-bootstrap-tooltips-with-react) – shaedrich

Odpowiedz

8

Mogę tylko zgadywać bez demo, że dzwonisz pod numer .tooltip na gotowym dokumencie, ale przed faktycznym renderowaniem komponentu.

Spróbuj:

componentDidMount: function() { 
    this.attachTooltip(); 
}, 

componentDidUpdate: function() { 
    this.attachTooltip(); 
}, 

attachTooltip: function() { 
    $(this.refs.data).tooltip(); 
    // Or for React <0.14 - 
    // $(this.refs.data.getDOMNode()).tooltip(); 
} 

PS rozważają swój przycisk Opłaty bardziej znaczącą nazwę niż „dane”

+0

Próbowałem Twojego podejścia, ale to nie działa . Przeglądarka pokazuje etykietę narzędzia, ale bez żadnych danych, takich jak zwykłe dane w prostokątnym pudełku z białym tłem i czarnym domyślnym tekstem czcionki, a nie w trybie ładowania początkowego, jak czarne tło z białym tekstem. –

+0

@SwapnilBhikule brzmi jak css nie jest załadowany? –

+0

Nie. CSS jest ładowany, ponieważ wszystkie inne bootstrap css jak navbar, divy itp. Działają poprawnie wewnątrz reagują. –