私は、1つのことを除いて、動作するReduxフォームを持っています。ユーザが複数のオプションの中から選択できるように、チェックボックスの配列を作成する必要があります。redux-form-checkboxesの配列
一つは、そのような記述したHTML/PHPで:そう(各ボックスがチェックされていると仮定して)のような配列を受信するサーバー側のいずれか一方にだから
<form>
…
<input type="checkbox" name="item[]" value="120" />
<input type="checkbox" name="item[]" value="231" />
…
</form>
を:配列内の各項目が対応$item = [120, 231]
、チェックボックスの値
そうのようなReduxのフォームと同じことを行う:これらの入力で
let items = [{name:…, value:…}, …];
<form>
{items.map(item => {
<Field component="input"
type="checkbox"
name={item.name + '[]'}
value={item.value}
})}
</form>
結果:<input type="checkbox" name="item[]" value="true" />
、私が期待する何をするものではありません。さらに、チェックボックスをオンにすると、アレイのそれぞれがチェックされます。
だから私は、提出されたときにチェックボックスが期待どおりに動作しますが、今度の結果でそのデータにするもの
name={`item[${item.value}]`}
に<Field />
のname属性を変更:
{
//index: 0, 1, ,…, 120, 121, … ,231, …
item: [undefinded,undefined,…,true,undefined,…,true,undefined,…]
}
だから私の質問があります:チェックボックス、特に名前の作成に間違っているのですか?または、初期化時と送信時にもう一度データを変換する必要がありますか?
データを変換する必要がある場合は、どこに最適な場所ですか?
値の属性を削除します。 –