diff --git a/components/image/PreviewGroup.tsx b/components/image/PreviewGroup.tsx
index 9fad82b1f5..9de56ea835 100644
--- a/components/image/PreviewGroup.tsx
+++ b/components/image/PreviewGroup.tsx
@@ -1,4 +1,5 @@
-import PreviewGroup from '../vc-image/src/PreviewGroup';
+import PreviewGroup, { imageGroupProps } from '../vc-image/src/PreviewGroup';
+import type { ExtractPropTypes } from 'vue';
import { computed, defineComponent } from 'vue';
import useConfigInject from '../_util/hooks/useConfigInject';
@@ -20,11 +21,13 @@ export const icons = {
right: ,
};
+export type ImageGroupProps = Partial>>;
+
const InternalPreviewGroup = defineComponent({
compatConfig: { MODE: 3 },
name: 'AImagePreviewGroup',
inheritAttrs: false,
- props: { previewPrefixCls: String },
+ props: imageGroupProps(),
setup(props, { attrs, slots }) {
const { getPrefixCls } = useConfigInject('image', props);
const prefixCls = computed(() => getPrefixCls('image-preview', props.previewPrefixCls));
diff --git a/components/vc-image/src/PreviewGroup.tsx b/components/vc-image/src/PreviewGroup.tsx
index 0a1eeb8dd6..c122e7609d 100644
--- a/components/vc-image/src/PreviewGroup.tsx
+++ b/components/vc-image/src/PreviewGroup.tsx
@@ -56,21 +56,23 @@ export const context = {
},
};
+export const imageGroupProps = () => ({
+ previewPrefixCls: String,
+ preview: {
+ type: [Boolean, Object] as PropType,
+ default: true as boolean | ImagePreviewType,
+ },
+ icons: {
+ type: Object as PropType,
+ default: () => ({}),
+ },
+});
+
const Group = defineComponent({
compatConfig: { MODE: 3 },
name: 'PreviewGroup',
inheritAttrs: false,
- props: {
- previewPrefixCls: String,
- preview: {
- type: [Boolean, Object] as PropType,
- default: true as boolean | ImagePreviewType,
- },
- icons: {
- type: Object as PropType,
- default: () => ({}),
- },
- },
+ props: imageGroupProps(),
setup(props, { slots }) {
const preview = computed(() => {
const defaultValues = {