Skip to content

Commit 26388ce

Browse files
committed
impl placeholder correctly
1 parent 8d61616 commit 26388ce

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

packages/mantine/src/widgets/SelectWidget.tsx

+7-6
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,23 @@ function SelectWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extend
8383
/>
8484
);
8585
} else {
86+
const valuedData = (enumOptions || []).map(({ value, label }, i) => {
87+
const disabled = enumDisabled && enumDisabled.indexOf(value) !== -1;
88+
return { value: String(i), label, disabled };
89+
});
90+
const data = [{ value: '-1', label: placeholder || '' }, ...valuedData];
8691
return (
8792
<NativeSelect
88-
data={(enumOptions || []).map(({ value, label }, i) => {
89-
const disabled = enumDisabled && enumDisabled.indexOf(value) !== -1;
90-
return { value: String(i), label, disabled };
91-
})}
93+
data={data}
9294
description={description}
9395
disabled={disabled || readonly}
9496
error={createErrors<T>(rawErrors, hideError)}
9597
label={labelValue(label, hideLabel, false)}
9698
autoFocus={autofocus}
9799
required={required}
98-
value={selectedIndices as string | null}
100+
value={selectedIndices ?? '-1'}
99101
onChange={(event) => handleChange(event.currentTarget.value)}
100102
aria-describedby={ariaDescribedByIds<T>(id)}
101-
placeholder={placeholder}
102103
className='armt-widget-select armt-widget-select-single'
103104
/>
104105
);

0 commit comments

Comments
 (0)