当前位置: 代码迷 >> 综合 >> Modal.js
  详细解决方案

Modal.js

热度:59   发布时间:2024-01-09 22:34:11.0

Modal模块为基于rc-dialog实现的模态框组件,在此基础上生成确认提示框等。

异步逻辑按钮组件需要显示require("antd/lib/Modal/ActionButton")。

 

Modal.js模态框

'use strict';Object.defineProperty(exports, "__esModule", {value: true
});
exports["default"] = undefined;var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);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 _rcDialog = require('rc-dialog');
var _rcDialog2 = _interopRequireDefault(_rcDialog);var _addEventListener = require('rc-util/lib/Dom/addEventListener');
var _addEventListener2 = _interopRequireDefault(_addEventListener);var _button = require('../button');
var _button2 = _interopRequireDefault(_button);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }var mousePosition = void 0;
var mousePositionEventBinded = void 0;var Modal = function (_React$Component) {(0, _inherits3["default"])(Modal, _React$Component);function Modal() {(0, _classCallCheck3["default"])(this, Modal);var _this = (0, _possibleConstructorReturn3["default"])(this, _React$Component.apply(this, arguments));_this.handleCancel = function (e) {var onCancel = _this.props.onCancel;if (onCancel) {onCancel(e);}};_this.handleOk = function () {var onOk = _this.props.onOk;if (onOk) {onOk();}};return _this;}Modal.prototype.componentDidMount = function componentDidMount() {if (mousePositionEventBinded) {return;}// 只有点击事件支持从鼠标位置动画展开(0, _addEventListener2["default"])(document.documentElement, 'click', function (e) {mousePosition = {x: e.pageX,y: e.pageY};// 100ms 内发生过点击事件,则从点击位置动画展示// 否则直接 zoom 展示// 这样可以兼容非点击方式展开setTimeout(function () {return mousePosition = null;}, 100);});mousePositionEventBinded = true;};Modal.prototype.render = function render() {var _props = this.props,okText = _props.okText,cancelText = _props.cancelText,confirmLoading = _props.confirmLoading,footer = _props.footer,visible = _props.visible;if (this.context.antLocale && this.context.antLocale.Modal) {okText = okText || this.context.antLocale.Modal.okText;cancelText = cancelText || this.context.antLocale.Modal.cancelText;}var defaultFooter = [_react2["default"].createElement(_button2["def
  相关解决方案