2017-07-04 172 views
-1

複数のチェックボックス値を取得するにはどうすればいいですか?参照が材料uiのチェックボックスで動作していない、理由は分かりません。例えばReactJS:material-uiで複数のチェックボックス値を取得

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

:材料-UIなしexample

あなたは参照して値を得ることができますが、材料-UIでそれは、チェックボックスの値を取得するために別の方法が必要です。

私はAPIからデータを取得しますので、時々追加されます。どのように価値を得るために?どのような機能を書くべきですか?誰でも知っていますか?

+1

[ReactJSで扱う複数のチェックボックスの値]の可能な重複(https://stackoverflow.com/questions/33607010/multiple-checkbox-values-handling -with-reactjs) – thislooksfun

+0

1つは重要ではありませんチェックボックス – Alan

+0

私の謝罪です。しかし、それは慎重に "可能な"重複を言う。あなたのコードで最高の運があります! – thislooksfun

答えて

1

組み込みMaterial UIチェックボックス機能 - onChangeを使用することができます。指定されたカテゴリが返され、それはです。

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} 
      /> 
    )} 
} 
+0

ありがとう!あなたは私の時間を救った! – Alan

+0

それを配列にする方法は?例:[a、b、c] – Alan

+0

@Alanまだ問題がありますか? –

関連する問題