Sie müssen einige Anpassungen vornehmen, damit dies funktioniert.
Zuerst importieren Sie read-dom.
Zweitens fügen Sie die componentDidMount-Lebenszyklusmethode vor der Rendermethode in Ihrer Komponente hinzu. Dies verwendet read-dom, um das select-Element über einen Verweis zu erfassen, den Sie "Dropdown" nennen, und verwendet dann die oben von Sanath notierte jQuery-Methode.
componentDidMount() {
var element = ReactDOM.findDOMNode(this.refs.dropdown)
$(element).ready(function() {
$('select').material_select();
});
}
render() {
...
Drittens fügen Sie den Code zu Ihrer Komponente hinzu. Hinweis: (1) "ausgewählt" wurde aus dem ersten Optionselement entfernt, (2) wurde dem ausgewählten Element eine Referenz namens "Dropdown" hinzugefügt, (3) Klassenname wird anstelle der Klasse verwendet (es handelt sich um eine React-Sache).
render() {
return (
<div className="input-field col s12">
<select ref="dropdown" defaultValue="1">
<option value="" disabled>Choose your option</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<label>Materialize Select</label>
</div>
);
}
Last, wenn Sie webpack verwenden, müssen Sie die webpack.ProvidePlugin verwenden, um einige spezifische Methoden auf jQuery zu zeigen.
var webpack = require("webpack");
module.exports = {
...
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery",
"Hammer": "hammerjs/hammer",
createDayLabel: "jquery",
createWeekdayLabel: "jquery",
activateOption: "jquery",
leftPosition: "jquery"
})
]
Laden Sie das Webpack/Server neu und Sie können loslegen.