1
- import { App , defineComponent , ExtractPropTypes , ImgHTMLAttributes , inject , Plugin } from 'vue' ;
2
- import { defaultConfigProvider } from '../config-provider' ;
1
+ import { App , defineComponent , ExtractPropTypes , ImgHTMLAttributes , Plugin } from 'vue' ;
3
2
import ImageInternal from '../vc-image' ;
4
3
import { imageProps } from '../vc-image/src/Image' ;
4
+ import useConfigInject from '../_util/hooks/useConfigInject' ;
5
5
import PreviewGroup from './PreviewGroup' ;
6
6
7
7
export type ImageProps = Partial <
@@ -11,13 +11,15 @@ const Image = defineComponent<ImageProps>({
11
11
name : 'AImage' ,
12
12
inheritAttrs : false ,
13
13
props : imageProps as any ,
14
- setup ( props , ctx ) {
15
- const { slots, attrs } = ctx ;
16
- const configProvider = inject ( 'configProvider' , defaultConfigProvider ) ;
14
+ setup ( props , { slots, attrs } ) {
15
+ const { prefixCls } = useConfigInject ( 'image' , props ) ;
17
16
return ( ) => {
18
- const { getPrefixCls } = configProvider ;
19
- const prefixCls = getPrefixCls ( 'image' , props . prefixCls ) ;
20
- return < ImageInternal { ...{ ...attrs , ...props , prefixCls } } v-slots = { slots } > </ ImageInternal > ;
17
+ return (
18
+ < ImageInternal
19
+ { ...{ ...attrs , ...props , prefixCls : prefixCls . value } }
20
+ v-slots = { slots }
21
+ > </ ImageInternal >
22
+ ) ;
21
23
} ;
22
24
} ,
23
25
} ) ;
0 commit comments