MaterializeCSS选择框,如何让它与react一起工作
MaterializeCSS Select Box, How to get it to work with Reactjs
我正在使用MaterializeCss,我想知道我如何得到它的选择框与reactjs工作
我有这个
<div className="input-field col m6 lg6">
<select name="selectedUnitType" value={this.state.selectedUnitType} onChange={ (event) => this.handleChange(event) } >
{
this.props.unitTypes.map((unitTypes, i) => {
return <option key={'unitTypes-' + i} value={unitTypes.id}>{unitTypes.name}</option>;
})
}
</select>
</div>
我就有了这两个函数
validate() {
console.log(this.state);
}
handleChange(event) {
this.setState({ [event.target.name]: event.target.value });
}
handleChange应该改变状态,validate将在我的"add"按钮上执行,现在只是记录状态,所以我可以看到它是否改变了。
但是materializecss对dom做了一些改变,最后的html输出看起来像这样
<div class="select-wrapper initialized">
<span class="caret">▼</span><input type="text" class="select-dropdown" readonly="true" data-activates="select-options-de36c20b-d50b-3b4b-2349-6d9f35e507f0" value="Meat">
<ul id="select-options-de36c20b-d50b-3b4b-2349-6d9f35e507f0" class="dropdown-content select-dropdown ">
<li class=""><span>Meat</span></li>
<li class=""><span>Fruit</span></li>
</ul>
<select class="initialized">
<option value="839751d4-7ed8-4aee-b439-12c7bfb47f43">Meat</option>
<option value="6b31ef3e-ad80-40fa-899a-9523dd2260b4">Fruit</option>
</select>
</div>
所以我不太确定怎么做,因为现在它被改成了无序列表
Materialize将把您的选择输入改为UL,选项改为li。
给包含select输入的div一个id,并使用它来触发文本输入值更改事件(jquery)。
<div class="input-field col m6 lg6" id="selectUnitTypeDiv">
<div class="select-wrapper initialized">
<span class="caret">▼</span><input type="text" class="select-dropdown" readonly="true" data-activates="select-options-de36c20b-d50b-3b4b-2349-6d9f35e507f0" value="Meat">
<ul id="select-options-de36c20b-d50b-3b4b-2349-6d9f35e507f0" class="dropdown-content select-dropdown ">
<li class=""><span>Meat</span></li>
<li class=""><span>Fruit</span></li>
</ul>
</div>
</div>
在组件的componentDidMount中写入onchange事件:
componentDidMount(){
$('#selectUnitTypeDiv .select-wrapper input[type=text]').change(function() {
this.setState({ /*whatever the variable is*/ });
});
}
相关文章:
- 将jQuery UI Timepicker Addon与React一起使用
- 将现有的WebView JavascriptInterface与React Native一起使用
- 将 react-redux 与基于事件的第三方库一起使用的最佳方法是什么?
- 如何将Bootstrap npm包与React一起使用
- CKEditor如何与React.js一起使用,以允许React识别它
- 使用Realm React Native查找Realm文件的路径,以便与Realm Browser一起使用
- 如何与Electron一起使用React路由器
- 如何让两个不相关的 React 组件一起工作
- 如何将 Redux 的提供程序与 React 一起使用
- 将 React 与 Nashorn 一起使用会抛出“ReferenceError: 'console' is not d
- 将 React 与工具创建的 SVG 一起使用
- 将去抖动器与 React 事件一起使用
- 将静态 HTML 与 React 一起使用
- React 渲染无法与 createElement 一起使用
- 将 React 的不可变助手与 Immutable.js一起使用
- 当将 onChange 与 React 一起使用时,空格不会被注册
- 我如何让介绍js与React一起工作
- 如何使vanilla Bootstrap在Node上与React一起工作
- Sendgrid Node.js库不能与React一起工作
- MaterializeCSS选择框,如何让它与react一起工作