@ucloud-pccl/react-components
Version:
UCloud pccl react components
52 lines (51 loc) • 2.39 kB
TypeScript
import React, { ReactNode } from 'react';
import { CollapseProps } from 'src/components/Collapse/hooks';
import { Key, groupChildrenAsDataSource, SubGroupMap, ChildrenMap } from 'src/hooks/group';
import LOCALE from './locale/zh_CN';
export interface MenuProps {
/** 选中的菜单项的key,controlled */
selectedKeys?: Key[];
/** 默认选中的菜单项的key,uncontrolled */
defaultSelectedKeys?: Key[];
/** 选中变化时的回调 */
onChange?: (keys: Key[]) => void;
/** 是否支持多选 */
multiple?: boolean;
/** 是否可选 */
selectable?: boolean;
/** 是否显示全选,多选时有效 */
showSelectAll?: boolean;
/** 是否使用块元素显示模式,去除宽高限制,撑满容器,去除外阴影、border,方便放置在自定义容器中 */
block?: boolean;
/** 是否禁用 */
disabled?: boolean;
/** collapse 的配置,参考 collapse 组件 */
collapseProps?: CollapseProps;
/** 启用虚拟滚动,启用后需要注意所有 item 需提供 key(可不提供 itemKey 和 subMenuKey,会使用 key 作为对应),且 Item key 和 SubMenu 不可重复,目前不支持 collapse 类 SubMenu */
virtualList?: boolean | {
simple?: true;
height?: number;
};
/** 自定义样式 */
customStyle?: {
/** 菜单的最大高度 */
maxHeight?: string;
/** 菜单的最大宽度 */
maxWidth?: string;
};
/** @ignore */
locale?: typeof LOCALE;
/**
* @ignore
* use for inner usage
*/
dataSource?: ReturnType<typeof groupChildrenAsDataSource>;
}
export declare const strictGroupChildrenAsDataSource: (children: ReactNode, globalDisabled?: boolean, { itemTag, subGroupTag, itemKeyName, subGroupKeyName }?: {
itemTag: string;
subGroupTag?: string | undefined;
itemKeyName: string;
subGroupKeyName?: string | undefined;
}) => [Key[], Key[], ReactNode[], SubGroupMap, ChildrenMap];
declare const _default: React.MemoExoticComponent<({ selectedKeys: _selectedKeys, defaultSelectedKeys, onChange: _onChange, selectable, multiple, showSelectAll, disabled, block, locale: _locale, className, children, dataSource, collapseProps, virtualList, ...rest }: MenuProps & Omit<React.HTMLAttributes<HTMLDivElement>, keyof MenuProps>) => React.JSX.Element>;
export default _default;