diff --git a/packages/core/client/src/schema-component/antd/filter/FilterGroup.tsx b/packages/core/client/src/schema-component/antd/filter/FilterGroup.tsx index 08ec982e74..9aaf6fd630 100644 --- a/packages/core/client/src/schema-component/antd/filter/FilterGroup.tsx +++ b/packages/core/client/src/schema-component/antd/filter/FilterGroup.tsx @@ -95,6 +95,9 @@ export const FilterGroup = connect((props) => { field.value = { [logic]: items, }; + field.initialValue = { + [logic]: items, + }; }} > {t('Add condition')} diff --git a/packages/core/client/src/schema-settings/LinkageRules/LinkageRuleActionGroup.tsx b/packages/core/client/src/schema-settings/LinkageRules/LinkageRuleActionGroup.tsx index ba9aba450e..aee60dbb8d 100644 --- a/packages/core/client/src/schema-settings/LinkageRules/LinkageRuleActionGroup.tsx +++ b/packages/core/client/src/schema-settings/LinkageRules/LinkageRuleActionGroup.tsx @@ -68,6 +68,7 @@ export const LinkageRuleActionGroup = withDynamicSchemaProps( const items = f.value || []; items.push({}); f.value = items; + f.initialValue = items; }, [field]); return ( diff --git a/packages/core/client/src/schema-settings/LinkageRules/ValueDynamicComponent.tsx b/packages/core/client/src/schema-settings/LinkageRules/ValueDynamicComponent.tsx index 5fd7647838..f7bf01bf99 100644 --- a/packages/core/client/src/schema-settings/LinkageRules/ValueDynamicComponent.tsx +++ b/packages/core/client/src/schema-settings/LinkageRules/ValueDynamicComponent.tsx @@ -9,7 +9,7 @@ import { Input, Select } from 'antd'; import { css } from '@emotion/css'; -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useCallback, useMemo, useState, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { useFormBlockContext } from '../../block-provider/FormBlockProvider'; import { useRecord } from '../../record-provider'; @@ -50,6 +50,11 @@ export const ValueDynamicComponent = (props: ValueDynamicComponentProps) => { const constantStyle = useMemo(() => { return { minWidth: 150, maxWidth: 430 }; }, []); + + useEffect(() => { + setMode(fieldValue?.mode || 'constant'); + }, [fieldValue?.mode]); + const handleChangeOfConstant = useCallback( (value) => { setValue({ @@ -160,7 +165,7 @@ export const ValueDynamicComponent = (props: ValueDynamicComponentProps) => { ))} - {modeMap[fieldValue?.mode || mode]} + {modeMap[mode]} ); };