UNPKG

@ccs-design/rc-pro

Version:

ccs design basic react component

52 lines (51 loc) 1.72 kB
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;