我正在使用Materializecss和React,我尝试使用以下方式动态初始化选择字段:
$('select').material_select()
但是我收到了一个错误 TypeError:$(...)。material_select不是函数
我之所以这样做,是因为我在动态填充选择字段中的值,有时候这些值不会显示在选择下拉列表中。这是不一致的。有时值显示,有时值显示在材料选择下拉列表中。
我的代码中的示例如下: 我在index.html文件中包含了jquery和materialize
在组件中我有以下内容:
const $ = require('jquery');
componentDidMount(){
$('select').material_select();
}
任何帮助将不胜感激。我花了很长时间试图解决这个问题。
被修改
我现在似乎有一个似乎对我有用的解决方案。在包含如上所述的jquery后,我将材质选择行更改为:
window.$('select').material_select();
并在将我的值加载到select字段的options标签后使用它。我不再需要在componentDidMount中调用它了。
我还破坏了componentWillUnmount中的材质选择。 (不确定它是否必要)。
componentWillUnmount(){
$('select').material_select('destroy');
}