【发布时间】:2016-04-04 04:32:19
【问题描述】:
在 UI 库中,我有一个 Checkbox 类,它允许用户将 input[type=checkbox] 添加到表单、设置样式并添加额外的功能:
export class Checkbox extends React.Component({
render() {
return(
<div className="form-component">
<input type="checkbox"
defaultChecked={this.props.value}
checked={this.props.value}
name={this.props.name} />
<label>{this.props.label}</label>
</div>
)
}
});
更改处理程序在表单级别完成。
export class Page extends React.Component({
handleChange(event) {
let state = {};
state[event.target.name] = event.target.value;
this.setState(state);
}
render() {
<form onChange={this.handleChange}>
<Input value={this.state.value} name="input1" />
<Checkbox value={this.state.value} name="checkbox1" />
</form>
}
})
来自输入的合成更改事件返回带有event.target.name 和event.target.value 的事件对象。该复选框有event.target.checked。在句柄更改事件中,我可以看到相应选择的元素类型。
但是有没有办法让我覆盖从 Checkbox 组件发出的事件,以便 event.target.value === event.target.checked?
【问题讨论】:
标签: javascript reactjs