@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 2.77 kB
JavaScript
"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));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 _reactNative=require("react-native");function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=(0,_getPrototypeOf2.default)(derived);return(0,_possibleConstructorReturn2.default)(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],(0,_getPrototypeOf2.default)(_this).constructor):derived.apply(_this,args));}var PortalManager=function(_React$PureComponent){function PortalManager(){var _this2;(0,_classCallCheck2.default)(this,PortalManager);_this2=_callSuper(this,PortalManager,arguments);_this2.state={portals:[]};_this2.mount=function(key,children){_this2.setState(function(state){return{portals:[].concat((0,_toConsumableArray2.default)(state.portals),[{key:key,children:children}])};});};_this2.update=function(key,children){return _this2.setState(function(state){return{portals:state.portals.map(function(item){if(item.key===key){return(0,_extends2.default)((0,_extends2.default)({},item),{children:children});}return item;})};});};_this2.unmount=function(key){return _this2.setState(function(state){return{portals:state.portals.filter(function(item){return item.key!==key;})};});};return _this2;}(0,_inherits2.default)(PortalManager,_React$PureComponent);return(0,_createClass2.default)(PortalManager,[{key:"render",value:function render(){return this.state.portals.map(function(_ref,i){var key=_ref.key,children=_ref.children;return _react.default.createElement(_reactNative.View,{key:key,collapsable:false,pointerEvents:"box-none",style:[_reactNative.StyleSheet.absoluteFill,{zIndex:1000+i}]},children);});}}]);}(_react.default.PureComponent);exports.default=PortalManager;