我试图从Formik找回价值。它与Textfield一起使用,但是我没有得到切换器的值(这是一个布尔值)。
我有这样的文件和切换器设置:
<div className="side2">
<Field
type="email"
label={currentEmail}
name="email"
placeholder={t('register.email')}
style={{ width: '55%' }}
className="fontLogin"
component={FormikInput}
/>
</div>
</div>
<div className="main">
<div className="side">
<p>Is admin ?</p>
</div>
<div className="side2">
<Switch
name="admin"
id="admin"
checked={(open === 'true')}
onChange={() => handleChange(!(open)}
color="primary"
inputProps={{ 'aria-label': 'primary checkbox' }}
/>
</div>
</div>
在我的其他文件中,我像这样使用formik:
<Formik
ref={form}
initialValues={{ email: '', admin: '' }}
onSubmit={(values) => {
handleSubmit(values);
handleClose();
}}
render={(props) => (
<FormRender
t={t}
currentEmail={currentEmail}
currentAdmin={currentAdmin}
currentVerified={currentVerified}
activeButton
{...props}
/>
)}
/>
我试图使用该.toString()
方法将切换器的值设置为字符串,但是它不起作用。
如何获得切换台的价值?我在这里误会什么?
最好,
将初始值设置为false/true
,然后props.values.admin
在Switch组件中使用,并使用setFieldValue Formik函数更新该值。
<Formik
initialValues={{ email: '', admin: false }}
...
/>
<Switch
...
checked={props.values.admin}
onChange={() => props.setFieldValue("admin", !props.values.admin)}
...
/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句