Skip to content

Commit ae3925a

Browse files
committed
Pass disabled prop to hidden input in NumberField
1 parent a8dbaf6 commit ae3925a

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

packages/react-aria-components/src/NumberField.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ export const NumberField = /*#__PURE__*/ (forwardRef as forwardRefType)(function
127127
data-disabled={props.isDisabled || undefined}
128128
data-required={props.isRequired || undefined}
129129
data-invalid={validation.isInvalid || undefined} />
130-
{props.name && <input type="hidden" name={props.name} form={props.form} value={isNaN(state.numberValue) ? '' : state.numberValue} />}
130+
{props.name && <input type="hidden" name={props.name} form={props.form} value={isNaN(state.numberValue) ? '' : state.numberValue} disabled={props.isDisabled || undefined} />}
131131
</Provider>
132132
);
133133
});

packages/react-aria-components/test/NumberField.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ describe('NumberField', () => {
135135
expect(input).toHaveValue('');
136136
});
137137

138+
it('should support disabled when having a form value', () => {
139+
render(<TestNumberField isDisabled name="test" form="test" value={25} formatOptions={{style: 'currency', currency: 'USD'}} />);
140+
let input = document.querySelector('input[name=test]');
141+
expect(input).toBeDisabled();
142+
});
143+
138144
it('should render data- attributes only on the outer element', () => {
139145
let {getAllByTestId} = render(
140146
<TestNumberField data-testid="number-field" />

0 commit comments

Comments
 (0)