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' ;
32import ImageInternal from '../vc-image' ;
43import { imageProps } from '../vc-image/src/Image' ;
4+ import useConfigInject from '../_util/hooks/useConfigInject' ;
55import PreviewGroup from './PreviewGroup' ;
66
77export type ImageProps = Partial <
@@ -11,13 +11,15 @@ const Image = defineComponent<ImageProps>({
1111 name : 'AImage' ,
1212 inheritAttrs : false ,
1313 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 ) ;
1716 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+ ) ;
2123 } ;
2224 } ,
2325} ) ;
0 commit comments