[英]Using HTMLFormElement.reset() with Downshift and react-hook-form
[英]Material-UI Checkbox is not reset while using react-hook-form reset function
MUI <Checkbox />
组件用于设置value
界面略有不同。 RHF 值必须使用checked
道具设置。
一个重要的注意事项:您必须使用checked={!!value}
设置该值,以避免在someCheckbox
的defaultValue
最初为undefined
将组件从不受控制更改为受控制的警告。
export const Checkbox = ({
name,
label,
control,
labelPlacement,
disabled,
className
}) => {
return (
<FormControlLabel
label={label}
disabled={disabled}
labelPlacement={labelPlacement}
className={className}
control={
<Controller
name={name}
control={control}
rules={{ required: true }}
render={({ field: { value, ...field } }) => (
<MuiCheckbox
{...field}
checked={!!value}
/>
)}
/>
}
/>
);
};
controller
钩子使用value
(这是真/假)而不是checked
(这是 Material-UI 的Checkbox
期望的)来设置复选框的检查状态。
为了解决您的问题,您可以从field
获取value
(在 Controller 的 render 属性内)并将其设置为Checkbox
的checked
属性:
control={
<Controller
name={name}
control={control}
rules={{ required: true }}
render={({ field }) => <MuiCheckbox {...field} checked={field['value'] ?? false} /> }
/>
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.