From 173c486d4a07326334ad3af754886491b7525520 Mon Sep 17 00:00:00 2001 From: "Michael S. Molina" <70410625+michael-s-molina@users.noreply.github.com> Date: Thu, 20 May 2021 23:42:33 -0300 Subject: [PATCH] fix: Unable to clear default value in native select filter (#14739) --- .../FiltersConfigForm/utils.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/utils.ts b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/utils.ts index 61ef409c34..b59e96e558 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/utils.ts +++ b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/utils.ts @@ -21,6 +21,8 @@ import { FormInstance } from 'antd/lib/form'; import React from 'react'; import { CustomControlItem } from '@superset-ui/chart-controls'; +const FILTERS_FIELD_NAME = 'filters'; + export const useForceUpdate = () => { const [, updateState] = React.useState({}); return React.useCallback(() => updateState({}), []); @@ -31,16 +33,19 @@ export const setNativeFilterFieldValues = ( filterId: string, values: object, ) => { - const formFilters = form.getFieldValue('filters') || {}; - form.setFieldsValue({ - filters: { - ...formFilters, - [filterId]: { - ...formFilters[filterId], - ...values, + const formFilters = form.getFieldValue(FILTERS_FIELD_NAME) || {}; + form.setFields([ + { + name: FILTERS_FIELD_NAME, + value: { + ...formFilters, + [filterId]: { + ...formFilters[filterId], + ...values, + }, }, }, - }); + ]); }; export const getControlItems = (