使用ReactJS映射materialize css <select>的<option>

时间:2016-01-28 14:26:47

标签: html5 css3 reactjs materialize

我在React组件中工作,该组件必须实现&lt; select&gt;&lt; option&gt; 功能。 我有这个: &lt; div className =&#34; input-field col s12&#34;&gt;       &LT;选择&GT;         &lt; option value =&#34;&#34;已停用&gt;选择您的选项&lt; / option&gt;          {projects.map(function(projects,index){                   回来(       &lt; option value = {projects.name} key = {projects.name}&gt;          {} projects.name       &LT; /选项&GT;             )})}      &LT; /选择&GT;      &LT;标签&gt;项目&LT; /标签&gt;      &LT; / DIV&GT; 我还在componentDidMount()中初始化了materialize select: componentDidMount:function(){     //初始化选择     $(document).ready(function(){       $(&#39;选择&#39;)。material_select();     }); },  (......) 但是当显示组件时,它显示没有&lt; options&gt;。当使用检查工具在Web源代码中调试生成的html时,它具有display none的选项,但是当更改为block时,它会在它之后创建一个没有样式的新选择。 有任何想法吗?非常感谢。

2 个答案:

答案 0 :(得分:0)

我发现了问题!!!

$(document).ready(function() {
          $('select').material_select();
        });

当显示选择时,必须执行,而不仅仅是在安装组件时。所以我不需要在componentDidMount()阶段函数中执行select的初始化函数,而是在render()函数中,因为每次状态改变(并且因为它填充了json数据而改变),我必须执行上面的jquery函数。

解决!希望它可以帮助任何其他人。

答案 1 :(得分:-1)

只需在componentDidMount()

中的逻辑之后插入jQuery初始化函数