javascript - 在 Formik 中使用 CheckboxTree

标签 javascript reactjs formik

我在内部使用react-checkbox-tree时遇到问题。在我的文本字段中输入值,然后单击其中一个复选框后,我的文本字段将重置为第一个状态。

<Formik
  initialValues={this.state}
  enableReinitialize
  {props=> (
    <Form onSubmit={props.handleSubmit}>
    <Input
      className="form-control-sm"
      type="text"
      name="groupName"
      id="groupName"
      placeholder=""
      onChange={props.handleChange}
      onBlur={props.handleBlur}
      value={props.values.groupName}
      invalid={
        props.errors.groupName != "" &&
        props.errors.groupName != null
      }
      valid={
        props.values.groupName != "" &&
        props.errors.groupName == null
      }
        />

      <CheckboxTree
        nodes={this.state.nodes}
        checked={this.state.checked}
        expanded={this.state.expanded}
        onCheck={checked => this.onChecked(checked)}
        onExpand={expanded => this.setState({ expanded })}
      />
/>

onChecked函数代码:

onChecked = checked => {
  this.setState({
    checked
 });
}

我必须更改此 onCheck 函数调用吗?如果是,我如何将它与 Formik 函数链接起来?

onCheck={checked => this.onChecked(checked)}

最佳答案

<CheckboxTree
  nodes={props.values.nodes}
  checked={props.values.checked}
  expanded={props.values.expanded}
  onCheck={checked => props.setFieldValue('checked', checked) }
  onExpand={expanded => this.setState({ expanded })}
/>

现在复选框可以按预期工作。我在调用 onCheck 事件时更改了代码。

关于javascript - 在 Formik 中使用 CheckboxTree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59342492/

相关文章:

带有嵌套对象字面量的 javascript 访问链

javascript - 两个字符串之间的子字符串?

php - 如何使用 php 通过谷歌地图获取步行或驾车距离

javascript - React - 返回几行表和 REACTDOM 错误

reactjs - Formik 表单不呈现

javascript - 在javascript中如何将相同的对象两次插入数组并进行一些修改而不覆盖数组

source-maps - `Invalid mapping` 尝试使用 babel require hook 和 polyfill 以及 React jsx transpile 时出错

javascript - 我如何包装在 .map 方法中重复的 div

reactjs - 在 formik 之外处理 onSubmit

reactjs - Material UI 切换按钮 - 选择时无法更改背景颜色