2017-05-08 14 views
0

複数選択フィールドのonChangeフィールドで適切な値が正しく選択されません。フィールドがあり、SelectMultipleコンポーネントを使用していたとしましょう。フィールドで選択肢を選択しても、redux形式の状態は更新されません。選択フィールドの複数のコンポーネントが使用方法ReduxフォームでMultipleを選択しますか?

const onChange = this.props.onChange; 
<select ref={name} value={value} onChange={onChange} multiple> 
     { emptyValue } 
     {(optionList) && optionList.map(current => (
     <option key={current.value} value={current.value}>{current.name}</option>)) 
     } 
</select> 

ある

<Field name="distroLists" label="Distribution Lists" component= 
{SelectFieldMultiple} type="text"></Field> 

誰がどんな考えを持っていますか?

答えて

1

redux形式のchange関数を使用してフィールドの値を手動で変更する必要があることがわかりました。その一度

import { change as changeFieldValue } from 'redux-form' 

あなたはchangeFieldValue Reduxのフォームから使用してonChangeあなた自身のようにする必要がありインポートされます。選択した値をすべて取り込んで状態に追加する必要があります

const onChange = function(event) { 
    let options = event.target.options; 
    let selectedOptions = []; 
    if (options) { 
    for (let x = 0; x < options.length; x++) { 
     if (options[x].selected) { 
     selectedOptions.push(options[x].value); 
     } 
    } 
    if (changeFieldValue) 
     changeFieldValue(name, selectedOptions); 
    } 

名前は小道具から持ち込まれます。このonChangeを使用して、複数のフィールドを選択した場合の値を設定します

関連する問題