UNPKG

mobile-more

Version:

基于 antd-mobile v5 扩展移动端 UI 组件

33 lines 1.21 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import * as React from 'react'; import { stopPropagation } from '../../utils/dom'; var MediaViewer = function MediaViewer(_ref) { var url = _ref.url, mediaType = _ref.mediaType; var divRef = React.useRef(null); var mediaRef = React.useRef(); React.useEffect(function () { var divElement = divRef.current; var mediaElement = mediaRef.current; if (divElement && mediaElement) { divElement.addEventListener('pointerdown', stopPropagation); divElement.addEventListener('touchstart', stopPropagation); return function () { divElement.removeEventListener('pointerdown', stopPropagation); divElement.removeEventListener('touchstart', stopPropagation); if (mediaElement.played) { mediaElement.pause(); } }; } }, []); var props = { src: url, controls: true, ref: mediaRef }; return /*#__PURE__*/React.createElement("div", { ref: divRef }, mediaType == 'video' ? /*#__PURE__*/React.createElement("video", _objectSpread({}, props)) : /*#__PURE__*/React.createElement("audio", _objectSpread({}, props))); }; export default MediaViewer;