簡體   English   中英

從對象檢查的 redux-form 字段和復選框 react-toolbox 值

[英]redux-form Field and Checkbox react-toolbox value checked from object

我有這個數據:

...
initialValues: {
  alarm: 'normal',
  days: { mon: true, tue: true, wed: true, thu: false, friday: true }
}
...

要渲染,我執行以下操作。

<Field name="days" component={({ input }) => {
  return (
    <div className='days-container'>
      <Checkbox label='Monday' checked={input.value.mon} onChange={input.onChange} />
      <Checkbox label='Tuesday' checked={input.value.tue} onChange={input.onChange} />
      ...
    </div>
  )
}}/>

但 days 值變為布爾值:

days: true

你會保持最初的結構嗎?

我是這樣做的

<Field name="days" label='Days' component={({ input, label }) => {
  return (
    <div className='days-container'>
      <span className='label'>{label}</span>
      {[ 'mon', 'tue', 'wed', 'thu', 'friday'].map((name, index) =>
          <Checkbox label={name} checked={input.value[name]} key={index} onChange={checked => {
            const setter = {};
            setter[name]=checked;
            input.onChange({...input.value, ...setter})}} />
      )}
    </div>
  )
}}/>

有更好的方法嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM