【发布时间】:2019-02-18 15:24:24
【问题描述】:
我正在通过 props 创建一个具有默认值的选择组件,但是当我突然尝试选择一个选项时,选择什么都不做。
我试图不设置一个初始值来解决问题,但程序不应该那样做。
//UserMaintenanceModal
class UserMaintenanceModal extends Component {
state = {
user_department: this.props.data.user_department,
departments: [
{id: 1, name: "IT"}, {id:2, name: "BM"}
]
}
handleChange = (event) => {
this.setState({user_department: event.target.value});
}
render(){
const { user_department } = this.state;
return (
<label>Department</label>
<select
className="form-control form-control-sm"
name='user_department'
value={user_department}
onChange={this.handleChange}
>
{
this.state.departments != null && this.state.departments.map(
department =>
<option
key = {department.id}
value = {department.name}
>
{department.name}
</option>
)
}
</select>
)
}
}
解决方案
对不起,我的错。我没有展示所有的源代码。之所以没有更改它,是因为这段代码位于父组件内。
//NavComponent
componentWillMount() {
document.addEventListener('mousedown', this.handleClick, false);
}
componentWillUnmount() {
document.removeEventListener('mousedown', this.handleClick, false);
}
我确实从here 获得了此代码。当在组件外部单击时,它会隐藏活动的下拉导航菜单。
【问题讨论】:
标签: javascript reactjs