reactjs - 如何使用 React Final Form Field Array 格式化复选框字段的值?

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

在 React Final Form 中,我们可以使用 formatparse Prop text键入输入以存储与指定值不同的值,但这似乎与复选框的工作方式不同。

例子:

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

在这个例子中,要存储的值仍然是 truefalse ,不管使用formatparse .是否可以格式化来自 [true, false] 的值?至 ["foo"] ?

在此先感谢您的帮助。

最佳答案

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

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

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

Edit quirky-voice-zruje

☝️ 还包括 format/parse例子。

关于reactjs - 如何使用 React Final Form Field Array 格式化复选框字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59832895/

相关文章:

javascript - React - 具有多个类的样式化组件

javascript - React-Tooltip 裁剪

reactjs - 我们如何在使用 react 最终形式时在组件中设置状态

javascript - 如何使用 React-final-form 将 FieldArray 功能嵌套在其他 <FieldArray> 组件中

reactjs - props.mutators 已弃用

javascript - 如何在数组react-final-form中设置错误

javascript - 屏幕不滚动 Expo web

javascript - 如何在 Remix.run 开发模式下使用内存缓存?

reactjs - 有没有从 redux-form 迁移到 react-final-form 的说明?

javascript - 设置 `value` 时出现错误 Dropdown `multiple` 必须是一个数组。收到类型: `[object String]`