@ccs-design/rc-pro
Version:
ccs design basic react component
52 lines (51 loc) • 1.72 kB
TypeScript
import { EventEmitter } from 'ahooks/lib/useEventEmitter';
import { TabsProps } from 'antd';
import React, { ReactElement } from 'react';
import './index.less';
export interface TabDataType {
key: string;
title: string;
disabled?: boolean;
element: ReactElement;
params?: RecordType;
}
interface PropsType extends TabsProps {
/** tabs 数据 */
tabs: TabDataType[];
}
declare type StringOrArrayString = string | string[];
export declare type RecordType = Record<string, any>;
export interface TabPropType {
/** tab参数 */
params?: RecordType;
/** 改变选中key的方法 */
onChangeKey?: (key: string, params?: RecordType) => void;
/** tab间传参方法 */
onChangeParam?: (key: string, params: any) => void;
/** tab启用方法 */
onEnable?: (key: StringOrArrayString) => void;
/** tab禁用方法 */
onDisabled?: (key: StringOrArrayString) => void;
}
export declare const CcsTabPane: React.MemoExoticComponent<({ tab, event$, }: {
tab: any;
event$: EventEmitter<{
id: any;
extra: any;
}>;
}) => React.FunctionComponentElement<{
onEnable: (key: string) => void;
onDisabled: (key: string) => void;
onChangeKey: (key: string, params?: RecordType | undefined) => void;
onChangeParam: (key: string, params?: RecordType | undefined) => void;
params: any;
}>>;
/**
* Tabs布局组件、方便tab间交互、传值。
* 子组件附加参数类型:TabPropType,
* 子组件可直接调用:onChangeKey,onChangeParam,onEnable,onDisabled方法
* @param props
* @returns
*/
declare const CcsMemoTabs: ({ tabs, defaultActiveKey, ...restProps }: PropsType) => JSX.Element;
export default CcsMemoTabs;