Fix: making select to return empty list when no values are selected in multivalue mode.

* Fixed error in storybook when remving selections.

* moved fix to select base instead of in story.

* updated to check for null or undefined.
This commit is contained in:
Marcus Andersson 2020-02-25 15:07:13 +01:00 committed by GitHub
parent 12f1af2956
commit 204682e9b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,4 @@
import React from 'react';
import React, { useCallback } from 'react';
import { SelectableValue, deprecationWarning } from '@grafana/data';
// @ts-ignore
import { default as ReactSelect } from '@torkelo/react-select';
@ -178,6 +178,15 @@ export function SelectBase<T>({
}: SelectBaseProps<T>) {
const theme = useTheme();
const styles = getSelectStyles(theme);
const onChangeWithEmpty = useCallback(
(value: SelectValue<T>) => {
if (isMulti && (value === undefined || value === null)) {
return onChange([]);
}
onChange(value);
},
[isMulti]
);
let ReactSelectComponent: ReactSelect | Creatable = ReactSelect;
const creatableProps: any = {};
let asyncSelectProps: any = {};
@ -229,7 +238,7 @@ export function SelectBase<T>({
onMenuClose: onCloseMenu,
tabSelectsValue,
options,
onChange,
onChange: onChangeWithEmpty,
onBlur,
onKeyDown,
menuShouldScrollIntoView: false,