diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue
index d512eb36..5f372422 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 157e0db1..45297b64 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 0df0be0b..9bd2d9de 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 };
}