0

我使用 formik 和 Material UI 构建了一个简单的联系页面。除了我使用 Material UI 组件而不是常规输入标签时,一切都正常。似乎程序无法读取 Material UITextField组件中的值。

这有效:

                     <Field 
                        name="name" 
                        id="outlined-textarea"
                            label="First Name"
                            variant="outlined"
                            margin="dense"
                            component='input'
                            />
                    <ErrorMessage name="name" className="errorMsg" component="p" />

这不起作用:

                      <Field
                        name="lastName"
                        id="outlined-textarea"
                        label="Last Name"
                        component={TextField}
                        variant="outlined"
                        margin="dense"
                    />
         <ErrorMessage name="lastName" className="errorMsg" component="p" />

我在这里创建了一个代码沙箱

4

1 回答 1

0

要将 formik 与材质 ui 正确挂钩,请使用render prop(而不是component)并抓取您获得的 formik 并将field其传递给材质 uiTextfield

像这样

<Field
    name="lastName"
    id="outlined-textarea"
    label="Last Name"
    render={({ field }) => <TextField {...field} />}
    variant="outlined"
    margin="dense"
  />
于 2020-06-07T05:03:20.790 回答