diff --git a/package-lock.json b/package-lock.json index 17fa6312a..5fdeaa1e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.18.1-pre-7", + "version": "1.18.1-pre-8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.18.1-pre-7", + "version": "1.18.1-pre-8", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 7547a6d42..a199c068b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.18.1-pre-7", + "version": "1.18.1-pre-8", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Common/RJSF/widgets/Select.tsx b/src/Common/RJSF/widgets/Select.tsx index 7937bcd2d..24fbf807d 100644 --- a/src/Common/RJSF/widgets/Select.tsx +++ b/src/Common/RJSF/widgets/Select.tsx @@ -19,6 +19,8 @@ import { PLACEHOLDERS, RJSF_FORM_SELECT_PORTAL_TARGET_ID } from '../constants' import { deepEqual } from '@Common/Helper' import { SelectPicker } from '@Shared/Components' +import { useEffect, useState } from 'react' +import { getUniqueId } from '@Shared/Helpers' export const SelectWidget = (props: WidgetProps) => { const { @@ -42,6 +44,14 @@ export const SelectWidget = (props: WidgetProps) => { onChange(multiple ? option.map((o) => o.value) : option.value) } + const [key, setKey] = useState() + + useEffect(() => { + // NOTE: need to trigger a re-render after re-mount since react-select + // has an issue with menuPortalTarget after re-mounting + setKey(getUniqueId(8)) + }, []) + const getOption = (value) => multiple ? selectOptions.filter((option) => value.some((val) => deepEqual(val, option.value))) @@ -49,6 +59,7 @@ export const SelectWidget = (props: WidgetProps) => { return (