UNPKG

@antdp/antdp-ui

Version:

基于antd封装的组件

75 lines 1.71 kB
import _extends from "@babel/runtime/helpers/extends"; import React from 'react'; import { HideContext } from './context'; import { jsx as _jsx } from "react/jsx-runtime"; class Hide extends React.Component { constructor(props) { super(props); this.mounted = false; this.cancelRegisterFunc = () => {}; this.getNamePath = () => { var { name } = this.props; if (!Array.isArray(name)) { return [name]; } return name; }; // 更新组件 this.refresh = () => { if (this.mounted) { this.forceUpdate(); } }; this.getValue = () => { var { hideContent } = this.props; var { getValue } = hideContent.getItemStore(); return getValue(this.getNamePath()); }; if (props.hideContent) { var { hideContent } = props; var { init } = hideContent.getItemStore(); init(this); } } componentDidMount() { var { hideContent } = this.props; // Register on init if (hideContent) { var { register } = hideContent.getItemStore(); this.cancelRegisterFunc = register(this); } this.mounted = true; } componentWillUnmount() { this.cancelRegisterFunc(); this.mounted = false; } render() { var { children } = this.props; // 默认 false 展示 // 只是判断是否进行显示和隐藏 return !this.getValue() ? children : /*#__PURE__*/_jsx(React.Fragment, {}); } } export default props => { var hideContent = React.useContext(HideContext); return /*#__PURE__*/_jsx(Hide, _extends({}, props, { hideContent: hideContent })); };