From edcc8b710752bd6904baab0025ad19caf0cc9e09 Mon Sep 17 00:00:00 2001
From: tangjinzhou <415800467@qq.com>
Date: Sat, 19 Jun 2021 22:13:13 +0800
Subject: [PATCH] fix: image preview class error #4231
---
components/image/PreviewGroup.tsx | 9 +++++----
components/image/index.tsx | 18 ++++++++++--------
2 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/components/image/PreviewGroup.tsx b/components/image/PreviewGroup.tsx
index cb6af56d3..81d109073 100644
--- a/components/image/PreviewGroup.tsx
+++ b/components/image/PreviewGroup.tsx
@@ -1,5 +1,5 @@
import PreviewGroup from '../vc-image/src/PreviewGroup';
-import { defineComponent, inject } from 'vue';
+import { computed, defineComponent, inject } from 'vue';
import { defaultConfigProvider } from '../config-provider';
import PropTypes from '../_util/vue-types';
@@ -9,13 +9,14 @@ const InternalPreviewGroup = defineComponent({
props: { previewPrefixCls: PropTypes.string },
setup(props, { attrs, slots }) {
const configProvider = inject('configProvider', defaultConfigProvider);
+ const prefixCls = computed(() =>
+ configProvider.getPrefixCls('image-preview', props.previewPrefixCls),
+ );
return () => {
- const { getPrefixCls } = configProvider;
- const prefixCls = getPrefixCls('image-preview', props.previewPrefixCls);
return (
);
diff --git a/components/image/index.tsx b/components/image/index.tsx
index 670ffa358..e572227be 100644
--- a/components/image/index.tsx
+++ b/components/image/index.tsx
@@ -1,7 +1,7 @@
-import { App, defineComponent, ExtractPropTypes, ImgHTMLAttributes, inject, Plugin } from 'vue';
-import { defaultConfigProvider } from '../config-provider';
+import { App, defineComponent, ExtractPropTypes, ImgHTMLAttributes, Plugin } from 'vue';
import ImageInternal from '../vc-image';
import { imageProps } from '../vc-image/src/Image';
+import useConfigInject from '../_util/hooks/useConfigInject';
import PreviewGroup from './PreviewGroup';
export type ImageProps = Partial<
@@ -11,13 +11,15 @@ const Image = defineComponent({
name: 'AImage',
inheritAttrs: false,
props: imageProps as any,
- setup(props, ctx) {
- const { slots, attrs } = ctx;
- const configProvider = inject('configProvider', defaultConfigProvider);
+ setup(props, { slots, attrs }) {
+ const { prefixCls } = useConfigInject('image', props);
return () => {
- const { getPrefixCls } = configProvider;
- const prefixCls = getPrefixCls('image', props.prefixCls);
- return ;
+ return (
+
+ );
};
},
});