@ccs-design/rc-pro
Version:
ccs design basic react component
40 lines (39 loc) • 1.21 kB
TypeScript
import React, { CSSProperties } from 'react';
import { DropDownProps } from 'antd/lib/dropdown';
import { MenuInfo } from 'rc-menu/lib/interface';
export interface CcsMenuItemProps {
/** 权限code */
auth?: string;
/** 菜单名称 */
name?: string;
/** 禁用菜单 */
disabled?: boolean;
/** 菜单classname */
className?: string;
/** 菜单key */
key: React.ReactText;
/** 菜单style */
style?: CSSProperties;
/** 菜单事件 */
onClick?: (e: CcsMenuItemProps) => void;
}
declare type RenderChildren = (props: {
/** 按钮名称 */
name: string;
}) => React.ReactNode;
declare type ChildrenType = RenderChildren | React.ReactNode;
export interface CcsAuthDropdownProps extends Omit<DropDownProps, 'overlay'> {
/** 权限标识 */
auth?: string;
/** dropdown 菜单数据 */
menus: CcsMenuItemProps[];
/** 自定义显示内容 */
children: ChildrenType;
/** 菜单选中事件 */
onClick?: (e: MenuInfo) => void;
}
/**
* 带权限的Dropdown组件
*/
declare function CcsAuthDropdown({ auth, menus, children, onClick, ...restProps }: CcsAuthDropdownProps): React.ReactElement;
export default CcsAuthDropdown;