1

我尝试将formik与自动生成的表单一起使用。但是当有复选框时,我会收到警告:

警告:组件正在更改要控制的复选框类型的不受控制的输入。输入元素不应从不受控切换到受控(反之亦然)。

触摸它们时。对于其他字段,可以用formmilk组件的初始值来解决。但是复选框不应该有初始值。如何修复?

4

2 回答 2

5

好吧,看起来你应该有一个带有每个字段名称的 initialValue 并为每个 input:checkbox 设置 false/true。

于 2019-01-30T13:43:10.477 回答
1

几件事:

  1. 如前所述,确保您的 initialValue 对象包含用于创建复选框(或单选按钮)的数组的键。
  2. 确保密钥被引用为name =字段的道具
  3. 对于每个复选框/单选条目,由于此输入类型只能具有值“True”或“False”,请确保将 propchecked设置为布尔值——而不是“真实”值(如字符串、数字或对象) . 所以不要这样做: checked={someArray.find(x....)}这样做:{!!someArray.find(x....)}
于 2020-05-05T18:54:50.767 回答