@aliretail/react-materials-components
Version:
25 lines (24 loc) • 899 B
TypeScript
import * as React from 'react';
interface ControllableLayerProps {
/** 非受控 初始visible */
defaultVisible?: boolean;
/** 受控 是否打开 */
visible?: boolean;
/** 受控 visible 改变的回调 */
onVisibleChange?: (visible: boolean) => void;
}
interface WrappedLayerProps {
/** visible */
visible: boolean;
/** 改变visible 的函数 */
setVisible: React.Dispatch<React.SetStateAction<boolean>>;
}
/**
* @description
* 高阶组件,用于创建一个拥有以下功能的弹出层组件(Dialog、Drawer)
* 1. 可通过外部 visible 进行控制打开与否
* 2. 可通过children 传trigger快捷打开
* @returns 高阶后的组件
*/
declare const withControllableLayer: <T extends object>(WrappedComponent: React.ComponentType<T & WrappedLayerProps>) => React.FC<T & ControllableLayerProps>;
export default withControllableLayer;