【问题标题】:How to format the value of a checkbox Field using React Final Form Field Array?如何使用 React Final Form Field Array 格式化复选框字段的值?
【发布时间】:2020-01-21 01:11:05
【问题描述】:

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

例子:

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

在此示例中,无论使用format 和parse,要存储的值仍为true 或false。是否可以将值从[true, false] 格式化为["foo"]?

提前感谢您的帮助。

【问题讨论】:

    标签: reactjs react-final-form react-final-form-arrays


    【解决方案1】:

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

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

    但它听起来就像您想要使用复选框来管理数组中的成员资格的内置功能。为此,您只需将 value 属性指定给 &lt;Field/&gt;。请参阅“酱汁”示例:

    ☝️ 还包括format/parse 示例。

    【讨论】:

    • 你太棒了!非常感谢,这帮助我们解决了与此相关的问题。感谢您在此工具上的出色工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多