{
+ if (typeof children === 'function') {
+ return children({
+ alt, className: classnames(className, style['img']), src: data
+ });
+ }
+ return
;
+ }}
+ />);
};
const FetchImageInner = withOSSFile(ImageInner);
@@ -52,52 +59,39 @@ const renderInner = ({ loading, error, src, id, alt, className, children, apis,
}
return ;
};
- const imageLoading =
- loading &&
- cloneElement(loading, {
- className: style['loading']
- });
- const imageError =
- error &&
- cloneElement(error, {
- className: style['error']
- });
- if (src) {
- return (
-
- {children}
-
- );
- }
+ const imageLoading = loading && cloneElement(loading, {
+ className: style['loading']
+ });
+ const imageError = error && cloneElement(error, {
+ className: style['error']
+ });
if (id) {
- return (
-
- {children}
-
- );
+ return (
+ {children}
+ );
+ }
+
+ if (src) {
+ return (
+ {children}
+ );
}
return imageError;
};
const Image = p => {
- const { id, src, alt, onClick, loading, error, className, apis, staticUrl, ...props } = Object.assign({}, { loading: loadingElement, error: photoFail }, p);
- return (
-
- {renderInner({
- loading,
- error,
- src,
- id,
- alt,
- className,
- apis,
- onClick,
- staticUrl
- })}
-
- );
+ const {
+ id, src, alt, onClick, loading, error, className, apis, staticUrl, ...props
+ } = Object.assign({}, { loading: loadingElement, error: photoFail }, p);
+ return (
+ {renderInner({
+ loading, error, src, id, alt, className, apis, onClick, staticUrl
+ })}
+
);
};
Image.Avatar = p => {
@@ -120,16 +114,9 @@ Image.Avatar = p => {
apis,
staticUrl,
...props
- } = Object.assign(
- {},
- {
- size: 100,
- defaultAvatar: avatarDefault,
- error: photoFail,
- shape: 'circle'
- },
- p
- );
+ } = Object.assign({}, {
+ size: 100, defaultAvatar: avatarDefault, error: photoFail, shape: 'circle'
+ }, p);
const inner = (() => {
const styleProps = width && height ? { style: { width, height } } : { size };
let shape = propsShape;
@@ -167,25 +154,20 @@ Image.Avatar = p => {
return ;
}
- return (
-
- {children}
-
- );
+ return (
+ {children}
+ );
})();
- return (
-
- {inner}
-
- );
+ return (
+ {inner}
+
);
};
export default Image;