From 070e426891502baaa24616e35bc7c5d85d0fae9d Mon Sep 17 00:00:00 2001 From: geido Date: Tue, 5 Oct 2021 14:57:33 +0000 Subject: [PATCH] Strict undefined check SelectControl --- superset-frontend/src/components/Select/Select.tsx | 2 +- .../src/explore/components/controls/SelectControl.jsx | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/superset-frontend/src/components/Select/Select.tsx b/superset-frontend/src/components/Select/Select.tsx index e70527438115d..373ba8213d0db 100644 --- a/superset-frontend/src/components/Select/Select.tsx +++ b/superset-frontend/src/components/Select/Select.tsx @@ -622,7 +622,7 @@ const Select = ({ selectOptions.map(opt => { const isOptObject = typeof opt === 'object'; const label = isOptObject ? opt?.label || opt.value : opt; - const value = (isOptObject && opt.value) || opt; + const value = isOptObject ? opt.value : opt; const { customLabel, ...optProps } = opt; return ( diff --git a/superset-frontend/src/explore/components/controls/SelectControl.jsx b/superset-frontend/src/explore/components/controls/SelectControl.jsx index 43424858aaaa8..4d59808d4c274 100644 --- a/superset-frontend/src/explore/components/controls/SelectControl.jsx +++ b/superset-frontend/src/explore/components/controls/SelectControl.jsx @@ -110,10 +110,12 @@ export default class SelectControl extends React.PureComponent { let onChangeVal = val; if (Array.isArray(val)) { - const values = val.map(v => v?.[valueKey] || v); + const values = val.map(v => + v?.[valueKey] !== undefined ? v[valueKey] : v, + ); onChangeVal = values; } - if (typeof val === 'object' && val?.[valueKey]) { + if (typeof val === 'object' && val?.[valueKey] !== undefined) { onChangeVal = val[valueKey]; } this.props.onChange(onChangeVal, []);