UNPKG

@lvxiaowu/antd4

Version:

antd4-components

65 lines (54 loc) 2.94 kB
var _excluded = ["store", "children", "getProps"]; function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import React, { useRef } from 'react'; import { Drawer, Button, Space } from 'antd'; import { observer } from 'mobx-react-lite'; import { DataType } from '@lvxiaowu/utils'; var Footer = observer(function (_ref) { var store = _ref.store; var loading = store.loading; return /*#__PURE__*/React.createElement(Space, { style: { width: '100%', justifyContent: 'flex-end' } }, /*#__PURE__*/React.createElement(Button, { disabled: loading, onClick: store.close }, "\u53D6\u6D88"), /*#__PURE__*/React.createElement(Button, { loading: loading, onClick: store.handleOk, type: "primary" }, "\u786E\u5B9A")); }); function MyDrawer(_ref2) { var store = _ref2.store, children = _ref2.children, getProps = _ref2.getProps, rest = _objectWithoutProperties(_ref2, _excluded); var drawerStore = (store === null || store === void 0 ? void 0 : store.$drawer) || store; if (!drawerStore) { console.error('Drawer组件必须传store属性,并且是DrawerStore的实例'); return null; } var hasOpened = useRef(false); var visible = drawerStore.visible, openValues = drawerStore.openValues; if (visible) { hasOpened.current = true; } var propsByData = hasOpened.current ? getProps === null || getProps === void 0 ? void 0 : getProps(openValues) : {}; return /*#__PURE__*/React.createElement(Drawer, _extends({ visible: visible, destroyOnClose: true, placement: "left", onClose: drawerStore.close, footer: /*#__PURE__*/React.createElement(Footer, { store: drawerStore }) }, rest, propsByData), hasOpened.current && (DataType.isFunc(children) ? children(openValues) : children)); } var SdDrawer = observer(MyDrawer); export default SdDrawer;