diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.tsx index ab8233c1fc..ded4b1ff21 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.tsx +++ b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.tsx @@ -72,6 +72,7 @@ const FilterControls: FC = ({ })); return buildCascadeFiltersTree(filtersWithValue); }, [filterValues, dataMaskSelected]); + const cascadeFilterIds = new Set(cascadeFilters.map(item => item.id)); let filtersInScope: CascadeFilter[] = []; const filtersOutOfScope: CascadeFilter[] = []; @@ -93,23 +94,25 @@ const FilterControls: FC = ({ return ( - {portalNodes.map((node, index) => ( - - - setVisiblePopoverId(visible ? cascadeFilters[index].id : null) - } - filter={cascadeFilters[index]} - onFilterSelectionChange={onFilterSelectionChange} - directPathToChild={directPathToChild} - /> - - ))} + {portalNodes + .filter((node, index) => cascadeFilterIds.has(filterValues[index].id)) + .map((node, index) => ( + + + setVisiblePopoverId(visible ? cascadeFilters[index].id : null) + } + filter={cascadeFilters[index]} + onFilterSelectionChange={onFilterSelectionChange} + directPathToChild={directPathToChild} + /> + + ))} {filtersInScope.map(filter => { - const index = cascadeFilters.findIndex(f => f.id === filter.id); + const index = filterValues.findIndex(f => f.id === filter.id); return ; })} {showCollapsePanel && (