更改基于prop的Formilk中的字段值?

时间:2019-05-07 21:17:33

标签: javascript reactjs formik

我正在研究一个项目,如果用户在父组件中切换某些内容,其状态将更新,并且该状态将作为道具传递给Formik。在Formik中,我有一个单选按钮组,其中有两个具有相同名称属性的选项。

我想隐藏一个选项,并将字段值设置为基于prop值更改而可见的另一个选项。例如,如果选中了选项B,并且用户在隐藏选项B的父组件中进行了选择,那么我想将字段值设置为选项A的值并使其选中。

我没有根据prop的值隐藏选项B的问题,但是无法弄清楚如何将字段值设置为可见选项的值。

换句话说,是否可以通过父组件设置Formik字段值?

1 个答案:

答案 0 :(得分:0)

可以通过两种方式来完成,首先:使用标准的React类组件(具有生命周期)。可以使用AppBar语法或<Formik component={InnerComponent} /> HOC来完成。

通过使用类组件,您可以使用componentDidUpdate方法来调用formik的(作为属性传递的)withFormik方法。

第二种方法可以更简单。 setFieldValue HOC的选项withFormik允许将prop转换为value。在这种情况下,嵌入式组件可以是功能组件。