test-crud
Version:
es una prueba acerca de como publicar un package name
41 lines (35 loc) • 972 B
JSX
import React, { useEffect } from 'react'
import { Checkbox, FormControlLabel } from '@mui/material'
import { useField, useFormikContext } from 'formik'
const AppCheckbox = ({ name, label, onSelect, labelPlacement, ...rest }) => {
const { setFieldValue, values } = useFormikContext()
const [field] = useField(name)
const handleChange = (event) => {
const isChecked = event.target.checked
setFieldValue(name, isChecked)
if (onSelect) {
onSelect(isChecked)
}
}
useEffect(() => {
if (onSelect && typeof values[name] !== 'undefined') {
onSelect(values[name])
}
}, [values[name]])
return (
<FormControlLabel
control={
<Checkbox
{...field}
checked={Boolean(values[name])}
onChange={handleChange}
inputProps={{ 'aria-label': label }}
/>
}
label={label}
labelPlacement={labelPlacement}
{...rest}
/>
)
}
export default AppCheckbox