在ReactJS中为复选框选择限制功能添加最小值和最大值

时间:2019-03-14 06:47:52

标签: javascript reactjs checkbox ecmascript-6 radio-button

我有一个react应用,可将JSON值映射到复选框中,并且JSON包含一个最小/最大所需值,我制作了一个函数,该函数将JSON中的复选框设置为最大值,并且可以正常工作,但是只要我尝试将最小值添加到不起作用的相同功能中,我尝试了诸如(this.props.min

Checkboxes.js 最大功能

....
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 {
      this.setState({ currentData: this.state.currentData - 1 });
    }
  }

....

完整代码:https://codesandbox.io/embed/wklrxy5x15?fontsize=14

1 个答案:

答案 0 :(得分:0)

您在代码中添加了2个问题:

  1. 您忘记了将最小道具传递给Checkbox组件(来自ItemList
  2. 取消选中的情况并不完全正确

在此处查看有效的示例:https://codesandbox.io/s/mjp92vkj9x