diff --git a/packages/ra-ui-materialui/src/input/AutocompleteInput.spec.tsx b/packages/ra-ui-materialui/src/input/AutocompleteInput.spec.tsx
index 3ef07805b94..4c17a482c7d 100644
--- a/packages/ra-ui-materialui/src/input/AutocompleteInput.spec.tsx
+++ b/packages/ra-ui-materialui/src/input/AutocompleteInput.spec.tsx
@@ -1592,9 +1592,11 @@ describe('', () => {
describe('InputProps', () => {
it('should pass InputProps to the input', async () => {
render();
- await screen.findByRole('textbox');
+ const input = await screen.findByRole('textbox');
screen.getByTestId('AttributionIcon');
screen.getByTestId('ExpandCircleDownIcon');
+ fireEvent.click(input);
+ screen.getByText('Victor Hugo');
});
});
});
diff --git a/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx b/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx
index ae73804d2c1..327289d3a2c 100644
--- a/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx
+++ b/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx
@@ -1221,12 +1221,25 @@ export const WithInputProps = () => {
TextFieldProps={{
InputProps: {
startAdornment: (
-
+
),
endAdornment: (
-
+
),
diff --git a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx
index 85ffdb7da3d..b7a21952148 100644
--- a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx
+++ b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx
@@ -560,42 +560,51 @@ If you provided a React element for the optionText prop, you must also provide t
id={id}
isOptionEqualToValue={isOptionEqualToValue}
filterSelectedOptions
- renderInput={params => (
-
- }
- error={
- !!fetchError ||
- ((isTouched || isSubmitted) && invalid)
- }
- helperText={
- renderHelperText ? (
- {
+ const mergedTextFieldProps = {
+ ...params.InputProps,
+ ...TextFieldProps?.InputProps,
+ };
+ return (
+
- ) : null
- }
- margin={margin}
- variant={variant}
- className={AutocompleteInputClasses.textField}
- {...params}
- {...TextFieldProps}
- size={size}
- />
- )}
+ }
+ error={
+ !!fetchError ||
+ ((isTouched || isSubmitted) && invalid)
+ }
+ helperText={
+ renderHelperText ? (
+
+ ) : null
+ }
+ margin={margin}
+ variant={variant}
+ className={AutocompleteInputClasses.textField}
+ {...params}
+ InputProps={mergedTextFieldProps}
+ size={size}
+ />
+ );
+ }}
multiple={multiple}
renderTags={(value, getTagProps) =>
value.map((option, index) => (