UNPKG

mobile-more

Version:

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

41 lines (40 loc) 1.61 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var React = _interopRequireWildcard(require("react")); var _dom = require("../../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', _dom.stopPropagation); divElement.addEventListener('touchstart', _dom.stopPropagation); return function () { divElement.removeEventListener('pointerdown', _dom.stopPropagation); divElement.removeEventListener('touchstart', _dom.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", (0, _objectSpread2.default)({}, props)) : /*#__PURE__*/React.createElement("audio", (0, _objectSpread2.default)({}, props))); }; var _default = exports.default = MediaViewer;