ich benutze reagieren Version von Semantic-UI in einem Projekt und ich brauche eine benutzerdefinierte Dropdown-Komponente zu schaffen, die leicht unterschiedliche innere HTML-Struktur hat als semantisch-ui Dropdown . Also habe ich beschlossen, eine neue Klasse zu definieren, um meine gewünschte HTML-Struktur wie folgt zurück:
import React from 'react';
import {Icon} from 'semantic-ui-react';
class CustomDropdown extends React.Component {
componentDidMount() {
console.log(!!window.jQuery); // outputs 'true', which means jquery is defined
$('.ui.dropdown').dropdown();
}
render() {
return(
<div className="ui fluid search selection dropdown">
<input name="states" type="hidden"/>
<span className="highlight"></span>
<span className="bar"></span>
<label>Some text</label>
<Icon name="dropdown"/>
<div className="default text">States</div>
<div className="menu">
<div className="item" data-value="AL">Alabama</div>
<div className="item" data-value="AK">Alaska</div>
<div className="item" data-value="AZ">Arizona</div>
<div className="item" data-value="AR">Arkansas</div>
</div>
</div>
);
}
}
export default CustomDropdown;
Jquery geladen wird mit webpack ProvidePlugin
:
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
}),
aber wenn ich diese Komponente in meinen Codes, die Zeile $('.ui.dropdown').dropdown()
gibt Fehler:
Uncaught TypeError: $(...).dropdown is not a function
wie kann ich mit .dropdown()
Funktion ins ide meine reaktionskomponente?
hast du versucht jQuery ('. Ui.dropdown'). Dropdown()? – beaumontwebdev
@beaumontwebdev gleicher Fehler: 'jQuery (...). Dropdown ist keine Funktion' –
Laden Sie auch irgendwie das' dropdown'-Plugin? Es ist keine normale jQuery-Methode. Sie könnten versuchen, '!! window.jQuery.fn.dropdown' zu protokollieren, um zu sehen, ob es für Sie verfügbar ist. – m90