4

在 React Final Form 中,我们可以使用formatorparse属性作为text类型输入,以便存储与指定值不同的值,但这似乎与复选框的工作方式不同。

例子:

<FieldArray name='test' initialValue={[true, false]}>
    <Field 
        component='input' 
        type='checkbox' 
        format={value => value ? 'foo' : null} 
        parse={value => value ? 'foo' : null}/>
    </Field>
</FieldArray>

在此示例中,无论使用and ,要存储的值仍然是trueor 。是否可以将值格式化为to ?falseformatparse[true, false]["foo"]

提前感谢您的帮助。

4

1 回答 1

3

您的format函数需要将其转换回布尔值。

<Field
  name="employed"
  component="input"
  type="checkbox"
  format={v => v === "foo"}
  parse={v => (v ? "foo" : null)}
/>

听起来您想要使用复选框来管理数组中的成员资格的内置功能。为此,您只需指定value一个<Field/>. 请参阅“酱汁”示例:

编辑 quirky-voice-zruje

☝️ 还包括format/parse例子。

于 2020-01-22T08:30:16.777 回答