UNPKG

@ant-design/react-native

Version:

基于蚂蚁金服移动设计规范的 React Native 组件库

92 lines (71 loc) 2.87 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _portalConsumer = require('./portal-consumer'); var _portalConsumer2 = _interopRequireDefault(_portalConsumer); var _portalHost = require('./portal-host'); var _portalHost2 = _interopRequireDefault(_portalHost); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } /** * Portal allows to render a component at a different place in the parent tree. * You can use it to render content which should appear above other elements, similar to `Modal`. * It requires a [`Portal.Host`](portal-host.html) component to be rendered somewhere in the parent tree. * * ## Usage * ```js * import * as React from 'react'; * import { Portal, Text } from '@ant-design/react-native'; * * export default class MyComponent extends React.Component { * render() { * const { visible } = this.state; * return ( * <Portal> * <Text>This is rendered at a different place</Text> * </Portal> * ); * } * } * ``` */ var Portal = function (_React$Component) { (0, _inherits3['default'])(Portal, _React$Component); function Portal() { (0, _classCallCheck3['default'])(this, Portal); return (0, _possibleConstructorReturn3['default'])(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments)); } (0, _createClass3['default'])(Portal, [{ key: 'render', value: function render() { var children = this.props.children; return _react2['default'].createElement( _portalHost.PortalContext.Consumer, null, function (manager) { return _react2['default'].createElement( _portalConsumer2['default'], { manager: manager }, children ); } ); } }]); return Portal; }(_react2['default'].Component); Portal.Host = _portalHost2['default']; Portal.add = _portalHost.portal.add; Portal.remove = _portalHost.portal.remove; exports['default'] = Portal; module.exports = exports['default'];