2017-08-21 4 views
0

私は多くのチェックボックスがあるフィールドにCheckboxGroupInputを使用しています。デフォルトでチェックしたいと思います。チェックボックスはデフォルトでチェックされています

は、私はこのようoptions attribute使用してみました:

<CheckboxGroupInput source="foo" choices={[ 
    { id: 0, name: 'bar' }, 
    { id: 1, name: 'bar' } 
]} options={{ 
    checked: true 
}}/> 

しかし、運を、すべてのチェックボックスはデフォルトでチェックが、彼らは使用できませんされている:彼らは未チェックすることはできませんやPOST/PUTに送られ、要求。

ありがとうございます!

PS:A check allボタンもいいかもしれません。もし誰かが実装していれば、私はそれがどのように行われたのを見てうれしいでしょう。

答えて

1

この入力を含むフォームにはdefaultValueを使用してください。

についてボタンをすべて確認してください。これはcustom inputで実装できます。 CheckboxGroupInputのコードをコピー/ペーストし、ロジックを実装することができます。数値に値をバック変換について

、ノーマライズ小道具を使用します。

<CheckboxGroupInput 
    normalize={value => value.map(v => parseInt(v, 10))} 
    source="notifications" 
    choices={[ 
     { id: 12, name: 'Ray Hakt' }, 
     { id: 31, name: 'Ann Gullar' }, 
     { id: 42, name: 'Sean Phonee' }, 
    ]} 
/> 
+0

ありがとうございます。私は 'defaultValue'を使用しました。 –

+0

ちなみに、私はIDとして数字を設定しますが、手作業でチェックした後、文字列として送信されます。数値として保持する方法はありますか? –

+0

はい、[normalize](http://redux-form.com/7.0.3/docs/api/Field.md/#-code-normalize-value-previousvalue-allvalues-previousallvalues-gt-nextvalue)を使用できます。 -code-optional-)prop: – Gildas

0

私は正直に反応や管理者には慣れていないので、私はここにいるかもしれませんが、checked: trueの部分を選択肢のオブジェクトに入れることができませんでしたか? (例:{ id: 0, name: 'bar', checked: true }

+0

これは機能しません。そのオプションは 'admin-on-rest'に実装されていないようです。 –

1

理由がある:あなたは、あなたがそれcontrolled componentなっていることを意味し、チェックの値は常に真であるchecked属性を使用している場合:その状態が変更取得されていない理由です

checked : true

。このよう

代わりのchecked使用defaultChecked、:

options={{ 
    defaultChecked: true 
}} 

が確認DOC

をdefaultChecked ===> BOOL ===>私たちのチェックボックスのデフォルト状態成分。 警告:これはチェック付きでは使用できません。 を、制御された入力要素または制御されていない入力要素の使用と、 のうちの1つを削除します。

+0

残念ながら、admin-on-restでも正しく動作しないようです。 –

関連する問題