diff --git a/packages/grafana-ui/src/components/Combobox/Combobox.test.tsx b/packages/grafana-ui/src/components/Combobox/Combobox.test.tsx index 12b37c9f4bf..091e6fed227 100644 --- a/packages/grafana-ui/src/components/Combobox/Combobox.test.tsx +++ b/packages/grafana-ui/src/components/Combobox/Combobox.test.tsx @@ -22,6 +22,12 @@ const optionsWithGroups: ComboboxOption[] = [ { label: 'Option 5', value: '5', group: 'Group 2' }, { label: 'Option 6', value: '6', group: 'Group 2' }, ]; +const numericOptions: Array> = [ + { label: 'Option 0', value: 0 }, + { label: 'Option 1', value: 1 }, + { label: 'Option 2', value: 2 }, + { label: 'Option 3', value: 3 }, +]; describe('Combobox', () => { const onChangeHandler = jest.fn(); @@ -159,6 +165,14 @@ describe('Combobox', () => { expect(screen.getByRole('option', { name: 'Default' })).toHaveAttribute('aria-selected', 'true'); }); + it('does not show a hanging 0 when the value is 0', async () => { + render( + + ); + expect(screen.getByDisplayValue('Option 0')).toBeInTheDocument(); + expect(screen.queryByText('0')).not.toBeInTheDocument(); + }); + describe('groups', () => { it('renders group headers', async () => { const options = [ diff --git a/packages/grafana-ui/src/components/Combobox/Combobox.tsx b/packages/grafana-ui/src/components/Combobox/Combobox.tsx index f06ce30060c..be8cfad5398 100644 --- a/packages/grafana-ui/src/components/Combobox/Combobox.tsx +++ b/packages/grafana-ui/src/components/Combobox/Combobox.tsx @@ -339,7 +339,7 @@ export const Combobox = (props: ComboboxProps) => const inputSuffix = ( <> - {value && value === selectedItem?.value && isClearable && ( + {value !== undefined && value === selectedItem?.value && isClearable && (