我在使用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/