@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 3 kB
JavaScript
;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 _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2["default"])(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2["default"])(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2["default"])(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var PortalManager=function(_React$PureComponent){(0,_inherits2["default"])(PortalManager,_React$PureComponent);var _super=_createSuper(PortalManager);function PortalManager(){var _this;(0,_classCallCheck2["default"])(this,PortalManager);_this=_super.apply(this,arguments);_this.state={portals:[]};_this.mount=function(key,children){_this.setState(function(state){return{portals:[].concat((0,_toConsumableArray2["default"])(state.portals),[{key:key,children:children}])};});};_this.update=function(key,children){return _this.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;})};});};_this.unmount=function(key){return _this.setState(function(state){return{portals:state.portals.filter(function(item){return item.key!==key;})};});};return _this;}(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);});}}]);return PortalManager;}(_react["default"].PureComponent);exports["default"]=PortalManager;