【问题标题】:ReactJS: Get multiple checkboxes value with material-uiReactJS:使用material-ui获取多个复选框值
【发布时间】:2017-12-08 01:18:57
【问题描述】:

如何获取多个复选框的值? Ref 在材质 ui 复选框中不起作用,不知道为什么。

<Checkbox key={i} label={catagory.name} ref="categories" value={catagory_name} name="category"  />

例如:example

没有 material-ui 可以通过 ref 获取值,但是使用 material-ui 需要另一种方法来获取复选框值。

我从 API 获取数据,因此它会不时添加更多数据。如何获得价值?我应该写什么函数?有谁知道吗?

【问题讨论】:

标签: function reactjs checkbox material-ui


【解决方案1】:

您可以使用内置的 Material UI 复选框功能 - onChange。它将返回指定的 category 和它的 value

app.js

class App extends Component {

  result = new Set();

  handleCheckbox(event, isChecked, value) {
    console.log(isChecked, value); 
    this.res.add(value);
    if (this.res.size === 3) console.log(this.res);
  }

  labelList = [{id: 1, category: 'a'}, {id: 2, category: 'b'}, {id: 3, category: 'c'}]; // your data

  render() {
    return (
      <div className="App">
        {this.labelList.map(element => (
          <CheckboxField
            key={element.id}
            label={element.category}
            category={element.category}
            onChange={this.handleCheckbox}
          />
        ))}
      </div>
    )
  }
}

Checkbox.js

export class CheckboxField extends React.PureComponent {

  handleCheck = (event, isInputChecked) => {
    this.props.onChange(event, isInputChecked, this.props.category);
  };

  render() {
    return (
          <Checkbox
            label={this.props.category}
            iconStyle={{fill: '#000'}}
            value={this.props.category}
            onCheck={this.handleCheck}
          />
    )}
}

【讨论】:

  • 谢谢兄弟!你刚刚节省了我的时间!
  • 如何使其成为数组?例如:[a, b, c]
  • @Alan 还有问题吗?
  • @Alan 获取数组?您想在检查所有复选框后获取数组吗?什么数组?
  • 我想要一个数组中的所有 3 个值在检查并发布到数据库后。所以我需要检查复选框的值数组。能明白我的意思吗?
猜你喜欢
  • 1970-01-01
  • 2019-08-16
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
相关资源
最近更新 更多