Skip to content

Commit b585135

Browse files
committed
propagate onChange for TextFieldElement closes #52
1 parent 4c57d75 commit b585135

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/TextFieldElement.tsx

+15-10
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { TextField, TextFieldProps } from '@mui/material'
2-
import { Control, Controller, ControllerProps, FieldError, Path } from 'react-hook-form'
3-
import { FieldValues } from 'react-hook-form/dist/types/fields'
1+
import {TextField, TextFieldProps} from '@mui/material'
2+
import {Control, Controller, ControllerProps, FieldError, Path} from 'react-hook-form'
3+
import {FieldValues} from 'react-hook-form/dist/types/fields'
44

55
export type TextFieldElementProps<T> = Omit<TextFieldProps,
6-
'name'> & {
7-
validation?: ControllerProps['rules']
8-
name: Path<T>
9-
parseError?: (error: FieldError) => string
10-
control?: Control<T>
6+
'name'> & {
7+
validation?: ControllerProps['rules']
8+
name: Path<T>
9+
parseError?: (error: FieldError) => string
10+
control?: Control<T>
1111
}
1212

1313
export default function TextFieldElement<TFieldValues extends FieldValues>({
@@ -37,12 +37,17 @@ export default function TextFieldElement<TFieldValues extends FieldValues>({
3737
name={name}
3838
control={control}
3939
rules={validation}
40-
render={({ field: { value, onChange, onBlur }, fieldState: { invalid, error } }) =>
40+
render={({field: {value, onChange, onBlur}, fieldState: {invalid, error}}) =>
4141
<TextField
4242
{...rest}
4343
name={name}
4444
value={value ?? ''}
45-
onChange={onChange}
45+
onChange={(ev) => {
46+
onChange(ev)
47+
if (typeof rest.onChange === 'function') {
48+
rest.onChange(ev)
49+
}
50+
}}
4651
onBlur={onBlur}
4752
required={required}
4853
type={type}

0 commit comments

Comments
 (0)