2017-02-27 7 views
0

私はFieldArrayを持っており、各項目が生成されます配列内のフィールドを変更すると、残りのフィールドが表示されなくなります。

export const Options = (props) => { return <div>{ 
    props.fields.map((op, index) => 
     <Fields 
      key={index} 
      names={[ 
      `${props.fields.name}[${index}].${op.fieldName}`, 
      `${props.fields.name}[${index}].optionSubList`, 
      `${props.fields.name}[${index}].otherValue` 
      ]} 
      component={SelectList} 
      otherValue={op.otherValue} 
      fieldName={op.fieldName} 
      important={op.required} 
      className={op.classNames} 
      label={op.label} 
      list={op.options} 
     /> 
    ) }</div>; }; 

私は他の人が消えフィールド、のいずれかを変更した後。

私ははinitialValueを追加しようとしました:私は

が不足して残りの1つのフィールドを持っている場合、これは、すべて同じように機能しません。私もenableReinitializeに同じ

+0

「Fields」コンポーネントはどこから来たのですか? – spirift

+0

FieldArray =>フィールド=>フィールドx3 フィールドステータスを管理するために必要です(値に依存するかどうかにかかわらず) FieldGroupを使用できますが、この場合は他のフィールドの値にアクセスできません。 –

+0

Ifフィールドコンポーネントを投稿してください。それは完全な問題を見つけるために不可欠です。関連するすべてのコードを質問で投稿する必要があります。私は問題はすべてのフィールドが同じ名前だと思っていますが、 'Fields'コンポーネントの中でprop' names'がどのように使われているのか分かりません。 – spirift

答えて

1

をフラグを入れて、私は少し心配ですprops.fields.nameにはすでに[42]型のインデックスがあるはずですので、[${index}]インクルードによってインクルードされます。私は隣接するコンポーネントの詳細をすべて知っているわけではありませんが、インデックスを削除することをお勧めします。

<Fields 
    key={index} 
    names={[ 
    `${props.fields.name}.${op.fieldName}`, 
    `${props.fields.name}.optionSubList`, 
    `${props.fields.name}.otherValue` 
    ]} 
    .../> 
関連する問題