【发布时间】:2018-04-25 14:26:40
【问题描述】:
我有默认禁用的按钮。但是当复选框被选中时,按钮将被启用,使用 ref 我正在启用按钮。按钮激活后单击事件未触发。如果没有默认禁用,按钮的点击事件就会触发。
class TodoApp extends React.Component {
onChangeCheckBox(event) {
if(event.target.checked) {
this.actionButtonRef.disabled = "";
}
else {
this.actionButtonRef.disabled = "disabled";
}
}
render() {
return (
<div>
<input
type="checkbox"
ref={element => {
this.checkboxAllRef = element;
}}
onChange={event => this.onChangeCheckBox(event)}/> Checbox
<br />
<button
type="button"
className="btn btn-danger"
ref={element => {
this.actionButtonRef = element;
}}
onClick={event => {
alert("clicked");
}}
disabled="disabled">Button</button>
</div>
)
}
}
ReactDOM.render(<TodoApp />, document.querySelector("#app"))
【问题讨论】:
-
是的,我知道我们可以处理上述代码的状态。但我实际上想知道为什么不起作用。所以我在这里得到了答案github.com/facebook/react/issues/12704
标签: reactjs