【发布时间】:2019-08-04 17:11:40
【问题描述】:
我做了一个选择限制功能,确保总复选框高于最小值和低于最大值,这些值取自映射复选框的 JSON,现在选择限制有效,但我正在尝试添加验证使用 onblur 显示警告,但我不确定如何将相同的函数转换为 onblur 验证函数。例如,如果有人取消选中,它会在控制台上显示您需要至少选择 3 个,直到选中 3 个,与 selectData() 的逻辑相同。
功能
selectData(id, event) {
let isSelected = event.currentTarget.checked;
if (isSelected) {
if (this.state.currentData < this.props.max) {
this.setState({ currentData: this.state.currentData + 1 });
} else {
event.preventDefault();
event.currentTarget.checked = false;
}
} else {
if (this.state.currentData >= this.props.min) {
this.setState({ currentData: this.state.currentData - 1 });
} else {
event.preventDefault();
event.currentTarget.checked = true;
}
}
}
【问题讨论】:
-
这个
onblur事件将如何被调用? -
来自输入表单,例如
-
能否请您在code.pen中举个例子。通过注释该行并添加仅
console.log('x')的事件然后我可以尝试添加您想要的功能 -
@AlxL 很抱歉,但完整的代码链接不起作用。能否请您修复它,以便我可以看到完整的组件源代码?
标签: javascript reactjs checkbox ecmascript-6 mapping