diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue
index d512eb3689c8ec648403c4f0f79f5efae8f855fc..5f37242229178ecf47db46424070492ad2c73053 100644
--- a/src/components/Form/src/BasicForm.vue
+++ b/src/components/Form/src/BasicForm.vue
@@ -10,6 +10,7 @@
({ ...getProps.value, ...advanceState }),
),
+ fieldsIsAdvancedMap,
...formActionType,
};
},
diff --git a/src/components/Form/src/components/FormItem.vue b/src/components/Form/src/components/FormItem.vue
index 157e0db1d456873c399349c09eac8e8a1611f090..45297b64cd8db375ee91953f1f96694e42592ebe 100644
--- a/src/components/Form/src/components/FormItem.vue
+++ b/src/components/Form/src/components/FormItem.vue
@@ -44,6 +44,9 @@
formActionType: {
type: Object as PropType,
},
+ isAdvanced: {
+ type: Boolean,
+ },
},
setup(props, { slots }) {
const { t } = useI18n();
@@ -103,8 +106,8 @@
const { show, ifShow } = props.schema;
const { showAdvancedButton } = props.formProps;
const itemIsAdvanced = showAdvancedButton
- ? isBoolean(props.schema.isAdvanced)
- ? props.schema.isAdvanced
+ ? isBoolean(props.isAdvanced)
+ ? props.isAdvanced
: true
: true;
diff --git a/src/components/Form/src/hooks/useAdvanced.ts b/src/components/Form/src/hooks/useAdvanced.ts
index 0df0be0b6fbfcd43c98165b241a3a1816bc76455..9bd2d9de1914864bb76a3f8f61bafc02dd56fdf8 100644
--- a/src/components/Form/src/hooks/useAdvanced.ts
+++ b/src/components/Form/src/hooks/useAdvanced.ts
@@ -1,6 +1,6 @@
import type { ColEx } from '../types';
import type { AdvanceState } from '../types/hooks';
-import { ComputedRef, getCurrentInstance, Ref } from 'vue';
+import { ComputedRef, getCurrentInstance, Ref, shallowReactive } from 'vue';
import type { FormProps, FormSchema } from '../types/form';
import { computed, unref, watch } from 'vue';
import { isBoolean, isFunction, isNumber, isObject } from '/@/utils/is';
@@ -113,6 +113,8 @@ export default function ({
}
}
+ const fieldsIsAdvancedMap = shallowReactive({});
+
function updateAdvanced() {
let itemColSum = 0;
let realItemColSum = 0;
@@ -148,7 +150,7 @@ export default function ({
if (isAdvanced) {
realItemColSum = itemColSum;
}
- schema.isAdvanced = isAdvanced;
+ fieldsIsAdvancedMap[schema.field] = isAdvanced;
}
}
@@ -166,5 +168,5 @@ export default function ({
advanceState.isAdvanced = !advanceState.isAdvanced;
}
- return { handleToggleAdvanced };
+ return { handleToggleAdvanced, fieldsIsAdvancedMap };
}