diff --git a/packages/ra-ui-materialui/src/input/FileInput.stories.tsx b/packages/ra-ui-materialui/src/input/FileInput.stories.tsx index ba33618b51a..1cb6c68a8de 100644 --- a/packages/ra-ui-materialui/src/input/FileInput.stories.tsx +++ b/packages/ra-ui-materialui/src/input/FileInput.stories.tsx @@ -114,6 +114,24 @@ export const CustomRemoveIcon = () => ( ); +export const OnChange = ({ onChange = console.log }) => ( + + + + + + +); + +export const OnChangeMultiple = ({ onChange = console.log }) => ( + + + + + + +); + const i18nProvider = polyglotI18nProvider(() => englishMessages); const Wrapper = ({ children }) => ( diff --git a/packages/ra-ui-materialui/src/input/FileInput.tsx b/packages/ra-ui-materialui/src/input/FileInput.tsx index 74d41265f73..aa7580bcd21 100644 --- a/packages/ra-ui-materialui/src/input/FileInput.tsx +++ b/packages/ra-ui-materialui/src/input/FileInput.tsx @@ -40,6 +40,7 @@ export const FileInput = (props: FileInputProps) => { labelMultiple = 'ra.input.file.upload_several', labelSingle = 'ra.input.file.upload_single', options = {}, + onChange: onChangeProp, onRemove: onRemoveProp, parse, placeholder, @@ -95,6 +96,7 @@ export const FileInput = (props: FileInputProps) => { validate, disabled, readOnly, + onChange: onChangeProp, ...rest, }); const { error, invalid } = fieldState;