UNPKG

doly

Version:
59 lines (45 loc) 1.79 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireDefault(require("react")); var _reactDom = require("react-dom"); // react 16 var Dialog = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Dialog, _React$Component); function Dialog() { var _this; (0, _classCallCheck2.default)(this, Dialog); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Dialog).apply(this, arguments)); var doc = window.document; _this.node = doc.createElement('div'); doc.body.appendChild(_this.node); return _this; } (0, _createClass2.default)(Dialog, [{ key: "render", value: function render() { return (0, _reactDom.createPortal)(_react.default.createElement("div", { className: "dialog" }, this.props.children), //塞进传送门的JSX this.node //传送门的另一端DOM node ); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { window.document.body.removeChild(this.node); } }]); return Dialog; }(_react.default.Component); exports.default = Dialog;