diff --git a/examples/basic.tsx b/examples/basic.tsx index 4448bb13..112f0c9b 100644 --- a/examples/basic.tsx +++ b/examples/basic.tsx @@ -34,6 +34,12 @@ export default function Base() { src="https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*NZuwQp_vcIQAAAAAAAAAAABkARQnAQ" width={200} /> + + ); } diff --git a/src/Image.tsx b/src/Image.tsx index d7bc4d57..949cd55c 100644 --- a/src/Image.tsx +++ b/src/Image.tsx @@ -102,6 +102,7 @@ const ImageInternal: React.FC = ({ className: cn(`${prefixCls}-img`, { [`${prefixCls}-img-placeholder`]: placeholder === true, }), + style: height !== undefined ? { height } : undefined, }; return ( diff --git a/src/Preview.tsx b/src/Preview.tsx index 7c1c896b..f2fd9327 100644 --- a/src/Preview.tsx +++ b/src/Preview.tsx @@ -8,6 +8,7 @@ import CloseOutlined from '@ant-design/icons/CloseOutlined'; import classnames from 'classnames'; import addEventListener from 'rc-util/lib/Dom/addEventListener'; import { getOffset } from 'rc-util/lib/Dom/css'; +import { warning } from 'rc-util/lib/warning'; import useFrameSetState from './hooks/useFrameSetState'; import getFixScaleEleTransPosition from './getFixScaleEleTransPosition'; @@ -155,11 +156,16 @@ const Preview: React.FC = props => { const onMouseUpListener = addEventListener(window, 'mouseup', onMouseUp, false); const onMouseMoveListener = addEventListener(window, 'mousemove', onMouseMove, false); - // Resolve if in iframe lost event - /* istanbul ignore next */ - if (window.top !== window.self) { - onTopMouseUpListener = addEventListener(window.top, 'mouseup', onMouseUp, false); - onTopMouseMoveListener = addEventListener(window.top, 'mousemove', onMouseMove, false); + try { + // Resolve if in iframe lost event + /* istanbul ignore next */ + if (window.top !== window.self) { + onTopMouseUpListener = addEventListener(window.top, 'mouseup', onMouseUp, false); + onTopMouseMoveListener = addEventListener(window.top, 'mousemove', onMouseMove, false); + } + } catch (error) { + /* istanbul ignore next */ + warning(false, `[rc-image] ${error}`); } return () => {