我正在使用formik
作为一种简单形式,但是我有几个从远程数据源填充的多选输入,因此我将它们变成了子组件。基本形式类似于
<div className="form-group">
<label htmlFor="priority">Priority</label>
<select
id="priority"
onChange={formik.handleChange}
className="form-control"
value={formik.values.priority}
defaultValue="Normal"
disabled={isDisabled}
>
<option>Urgent</option>
<option>High</option>
<option>Normal</option>
<option>Low</option>
</select>
</div>
<div className="form-group">
<label htmlFor="myselect">MySelect List</label>
<MySelect />
</div>
我可以将formik
作为道具传递给子组件,还是将OnChange
方法和value
作为道具传递,或者是否有其他处理方式主要表单对象?
答案 0 :(得分:0)
解决方案似乎只是将formik.value
和formik.handleChange
作为props传递给子组件,然后正常使用它们。请注意,子组件中的输入id
(在这种情况下为选择)必须与formik.values.name
相同,否则handleChange
将不起作用。