reactjs - 反应js渲染功能中的状态为空白
问题描述
我是反应 js 的新手。问题是在 menuitem 中设置状态值并访问它们时会出现空白,而手动设置值可以正常工作。这是我的代码片段。
//class definition
class DowntimeAcknowledgeComment extends React.Component{
constructor(props){
super(props);
this.state = {
comment: '',
startTime : Datetime.moment(),
endTime : Datetime.moment().add(2, 'h'),
...
};
//functon binding
this.handleChange = this.handleChange.bind(this);
}
//handle change function
handleChange(event, index, value){
this.setState({value: value});
}
//render function
render(){
<div className="inline-block ">
<div className="width-80px margin-4px">Downtime for:</div>
<MuiThemeProvider >
<SelectField value={this.state.value} onChange={this.handleChange} >
<MenuItem defaultValue={this.state.endTime} primaryText="2 Hours" />
<MenuItem value={this.state.startTime} primaryText="8 Hours" />
<MenuItem value="manual" primaryText="Manual"/>
</ SelectField>
</ MuiThemeProvider>
<p>hello there {this.state.startTime}</p>
</div>
解决方案
defaultValue
在 material-ui 中不可用SelectField
将其更改为value
<MenuItem value={this.state.endTime} primaryText="2 Hours" />
如果您希望默认 Selected 值为 2 小时时间,请将状态设置value
为endTime
this.state = {
comment: '',
startTime: Datetime.moment(),
endTime: Datetime.moment().add(2, 'h'),
value: Datetime.moment().add(2, 'h')
...
};
希望这会有所帮助
推荐阅读
- javascript - jqGrid filterToolbar 仅适用于某些列
- python - Pandas 相当于过滤器,后跟 dplyr 中的 groupby 函数
- automated-tests - 需要在 Cypress 中多次访问注册链接
- r - 如何在 RStudio 的工作目录/RProject 中使用多个数据源
- postgresql - 基于角色的数据库设计。作为用户属性或角色特定表的角色
- javascript - 我想在画布的各个方向重新缩放我的图像,但它只在右下角
- excel - 使用公式查找范围内具有零值的最后一行
- emacs - Emacs + Cider:无需输入首字母即可显示所有自动完成选项
- c++ - 模板特化中的默认实参
- graphql - 覆盖标准 ID 标量