diff --git a/packages/core/client/src/data-source/collection-field/CollectionField.tsx b/packages/core/client/src/data-source/collection-field/CollectionField.tsx
index 4b00af3a79..e7cfaa4e04 100644
--- a/packages/core/client/src/data-source/collection-field/CollectionField.tsx
+++ b/packages/core/client/src/data-source/collection-field/CollectionField.tsx
@@ -18,6 +18,7 @@ import { useCollectionFieldUISchema, useIsInNocoBaseRecursionFieldContext } from
import { useDynamicComponentProps } from '../../hoc/withDynamicSchemaProps';
import { useCompile, useComponent } from '../../schema-component';
import { useIsAllowToSetDefaultValue } from '../../schema-settings/hooks/useIsAllowToSetDefaultValue';
+import { isVariable } from '../../variables/utils/isVariable';
import { CollectionFieldProvider, useCollectionField } from './CollectionFieldProvider';
type Props = {
@@ -131,7 +132,14 @@ const CollectionFieldInternalField = (props) => {
if (!uiSchema) return null;
- return ;
+ const mergedProps = { ...props, ...dynamicProps };
+
+ // Prevent displaying the variable string first, then the variable value
+ if (isVariable(mergedProps.value) && mergedProps.value === fieldSchema.default) {
+ mergedProps.value = undefined;
+ }
+
+ return ;
};
export const CollectionField = connect((props) => {
diff --git a/packages/core/client/src/schema-component/antd/form-item/hooks/useParseDefaultValue.ts b/packages/core/client/src/schema-component/antd/form-item/hooks/useParseDefaultValue.ts
index cda06cd3c0..f663975902 100644
--- a/packages/core/client/src/schema-component/antd/form-item/hooks/useParseDefaultValue.ts
+++ b/packages/core/client/src/schema-component/antd/form-item/hooks/useParseDefaultValue.ts
@@ -86,11 +86,6 @@ const useParseDefaultValue = () => {
field &&
((isVariable(fieldSchema.default) && field.value == null) || field.value === fieldSchema.default || forceUpdate)
) {
- // 一个变量字符串如果显示出来会比较奇怪
- if (isVariable(field.value)) {
- await field.reset({ forceClear: true });
- }
-
field.loading = true;
const collectionField = !fieldSchema.name.toString().includes('.') && collection?.getField(fieldSchema.name);