【发布时间】:2020-02-28 19:38:31
【问题描述】:
我有这个材质选择组件:
<FormControl fullWidth variant="outlined" className={classes.formControl}>
<InputLabel ref={inputLabel} htmlFor="outlined-age-native-simple">
Filial
</InputLabel>
<Select
onChange={handleChange}
onBlur={handleBlur}
error={touched.filial && Boolean(errors.filial)}
value={values.filial}
defaultValue={'DEFAULT'}
inputProps={{
name: 'filial',
id: 'outlined-filial-native-simple',
}}
>
<option value="DEFAULT" disabled>Choose a salutation ...</option>
<option value={10}>Ten</option>
<option value={20}>Twenty</option>
<option value={30}>Thirty</option>
</Select>
</FormControl>
当我更改所选选项时,我收到:
index.js:1 警告:使用 defaultValue 或 value 道具代替 选择的设置
我正在使用 formik 来处理我的表单:
const enhanceWithFormik = withFormik({
mapPropsToValues: () => ({ email: '', password: '', filial: '' }),
handleSubmit: values => {
console.log(values)
},
isInitialValid: false,
validateOnChange: true,
validateOnBlur: true,
displayName: 'MyForm',
validationSchema: schema
})
当我填写表单字段并单击提交按钮时,会正确打印我在表单中选择的 filial 的值,但会在我的控制台中抛出此错误。
我该如何解决这个问题?
【问题讨论】:
-
这是一个警告,而不是错误。如果你愿意,你可以忽略它。我没有使用
formik的经验,但也许它会以某种方式自动设置selected道具?我所知道的是您同时设置了value和defaultValue。你应该只使用一个。 -
它建议您直接传递
Selectable数组中的一项,而不是在选项中设置默认标签
标签: reactjs material-ui formik