36 lines
801 B
TypeScript
36 lines
801 B
TypeScript
// form
|
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
// @mui
|
|
import { TextField, TextFieldProps } from '@mui/material';
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
interface IProps {
|
|
name: string;
|
|
children: any;
|
|
}
|
|
|
|
export default function RHFSelect({ name, children, ...other }: IProps & TextFieldProps) {
|
|
const { control } = useFormContext();
|
|
|
|
return (
|
|
<Controller
|
|
name={name}
|
|
control={control}
|
|
render={({ field, fieldState: { error } }) => (
|
|
<TextField
|
|
{...field}
|
|
select
|
|
fullWidth
|
|
SelectProps={{ native: true }}
|
|
error={!!error}
|
|
helperText={error?.message}
|
|
{...other}
|
|
>
|
|
{children}
|
|
</TextField>
|
|
)}
|
|
/>
|
|
);
|
|
}
|