shineout
Version:
Shein 前端组件库
46 lines (45 loc) • 1.52 kB
TypeScript
import { ReactElement } from 'react';
import { PureComponent } from '../component';
import { TabsProps, TabsBaseValue } from './Props';
import Panel from './Panel';
import Link from './Link';
interface TabsState {
active: string | number;
collapsed?: boolean;
}
declare class Tabs<T extends TabsBaseValue = TabsBaseValue> extends PureComponent<TabsProps<T>, TabsState> {
static defaultProps: {
defaultCollapsed: boolean;
lazy: boolean;
hideSplit: boolean;
};
container: HTMLDivElement | null;
sticky: boolean;
static Panel: typeof Panel;
static Link: typeof Link;
static displayName: string;
constructor(props: TabsProps<T>);
componentDidUpdate(prevProps: TabsProps<T>, prevState: TabsState): void;
componentWillUnmount(): void;
getAlign(): {
align: string;
isVertical: boolean;
} | {
align: "left" | "bottom" | "right" | "vertical-left" | "vertical-right" | undefined;
isVertical: boolean | undefined;
};
getActive(): string | number | T | undefined;
setStickyStatus(flag: boolean): void;
bindContainer(node: HTMLDivElement): void;
handleChange(active: T): void;
handleCollapse(collapsed: boolean): void;
renderHeader({ align, isVertical }: any): JSX.Element;
renderContent(child: ReactElement & {
type: {
isTabPanel: boolean;
isTabLink: boolean;
};
}, i: number): JSX.Element | null;
render(): JSX.Element;
}
export default Tabs;