我正在研究一个项目,如果用户在父组件中切换某些内容,其状态将更新,并且该状态将作为道具传递给Formik。在Formik中,我有一个单选按钮组,其中有两个具有相同名称属性的选项。
我想隐藏一个选项,并将字段值设置为基于prop值更改而可见的另一个选项。例如,如果选中了选项B,并且用户在隐藏选项B的父组件中进行了选择,那么我想将字段值设置为选项A的值并使其选中。
我没有根据prop的值隐藏选项B的问题,但是无法弄清楚如何将字段值设置为可见选项的值。
换句话说,是否可以通过父组件设置Formik字段值?
答案 0 :(得分:0)
可以通过两种方式来完成,首先:使用标准的React类组件(具有生命周期)。可以使用AppBar
语法或<Formik component={InnerComponent} />
HOC来完成。
通过使用类组件,您可以使用componentDidUpdate方法来调用formik的(作为属性传递的)withFormik
方法。
第二种方法可以更简单。 setFieldValue
HOC的选项withFormik
允许将prop转换为value。在这种情况下,嵌入式组件可以是功能组件。