2017-06-14 8 views
1

私は数回、ドキュメントの例を試しました。しかしそれは私のためにうまくいかなかった。 いずれかが ....私を助けることができる、これはコードMaterial UI Field multiselectを選択してください

import React, {Component} from 'react'; 
import SelectField from 'material-ui/SelectField'; 
import MenuItem from 'material-ui/MenuItem'; 

const names = [ 
    'Oliver Hansen', 
    'Van Henry', 
    'April Tucker', 
    'Ralph Hubbard', 
    'Omar Alexander', 
    'Carlos Abbott', 
    'Miriam Wagner', 
    'Bradley Wilkerson', 
    'Virginia Andrews', 
    'Kelly Snyder', 
]; 

/** 
* `SelectField` can handle multiple selections. It is enabled with the `multiple` property. 
*/ 
export default class SelectFieldExampleMultiSelect extends Component { 
    state = { 
    values: [], 
    }; 

    handleChange = (event, index, values) => this.setState({values}); 

    menuItems(values) { 
    return names.map((name) => (
     <MenuItem 
     key={name} 
     insetChildren={true} 
     checked={values && values.indexOf(name) > -1} 
     value={name} 
     primaryText={name} 
     /> 
    )); 
    } 

    render() { 
    const {values} = this.state; 
    return (
     <SelectField 
     multiple={true} 
     hintText="Select a name" 
     value={values} 
     onChange={this.handleChange} 
     > 
     {this.menuItems(values)} 
     </SelectField> 
    ); 
    } 
} 

http://www.material-ui.com/#/components/select-field

選択財産作品ですが、それは複数のオプションを選択しdoesntの。私がstates.valueをチェックすると、値の配列ではなく単一の値だけが含まれます

+2

あなたは別の配列を取って値をプッシュすることができます。 –

+0

はい、しかし、マルチ選択をサポートしていれば、それは配列ではありません...それで、私は別のプラグインに行って、それは私のために働いた,,,アイデアをありがとう。 [https://www.npmjs.com/package/react-select-2] [1]:https://www.npmjs.com/package/react-select-2 – SalindaKrish

+1

はい、反応マルチセレクションを使用できます。それはより良いオプションです –

答えて

1

この例は私にとってはうまくいきませんでした。

handleChange(event, index, values) { 
    this.setState({ 
    values: [...this.state.values , values] 
    }); 
    } 

EDIT:私は材料-UIの私のバージョンを更新する例からhandleChange機能は次のようになりますので、手動での状態に新しい値を追加する必要が複数選択機能を追加するには最新の安定したバージョンとその例は、魅力のように働いた

+0

兄弟ありがとう、私たちはそうすることができます...しかし、私は理由を探していたとにかくmultiselctは機能しませんでした...とにかく – SalindaKrish

+1

私は実際にそれがなぜ@SalindaKrishを動作させなかったかを知りました。マテリアルUIのバージョンを最新の「安定版」に更新する必要があります。私はアップグレードし、npmをインストールした後、それは魅力のように働いた –

+0

うーん、理由があるかもしれない、thanx @Sua Morales – SalindaKrish

関連する問題