import * as React from "react"; import { ConfigConsumerProps } from "../Config"; export interface Props { /** * 自定义组件类名 * * @default "" **/ className?: string; /** * 标签页风格 可选 line | card | button * * @default "line" **/ type?: string; /** * 默认前缀 * * @default "lg" **/ prefixCls?: string; /** * 默认展示的标签页 * * @default 0 **/ defaultIndex?: number; /** * 切换方式 可选 click | mouseOver * * @default "click" **/ changeEvent?: string; /** * 切换标签内容 * * @default null **/ children: React.ReactNode; /** * 渐变切换时间,单位秒, 线条式不支持 * * @default 0 **/ fadeTime?: number; /** * 是否标签下滑线 * * @default false **/ hasLine?: boolean; /** * 下滑线间距 * * @default 32 **/ lineGap?: number; /** * 是否有上下翻页 * * @default false **/ hasArrow?: boolean; /** * 是否自动切换 * * @default false **/ autoPlay?: boolean; /** * 自动切换间隔,单位秒,autoPlay为true时生效 * * @default 3 **/ interval?: number; /** * 是否开启懒加载 * * @default true **/ lazy?: boolean; /** * 切换时的回调函数 * * @default (i) =>{} **/ onChange?: (index: number) => void; /** * 自定义样式 * * @default **/ style?: React.CSSProperties; } export interface State { /** * 当前的标签页 * * @default 0 **/ activeIndex: number; /** * 标签页宽度 * * @default [] **/ navBarWidth: number[]; /** * 标签页左侧距离 * * @default [] **/ navBarLeftMargin: number[]; /** * 标签内容高度 * * @default 0 **/ activeContentHeight: number; /** * 标签页个数 * * @default 0 **/ childrenLength: number; /** * 懒加载索引数组 * * @default [] **/ lazyPool: number[]; } export declare class Tabs extends React.PureComponent { static defaultProps: { className: string; type: string; defaultIndex: number; changeEvent: string; fadeTime: number; hasArrow: boolean; autoPlay: boolean; interval: number; lazy: boolean; hasLine: boolean; onChange: () => null; lineGap: number; style: {}; }; static Panel: any; autoPlayInterval: any; contenItem: HTMLDivElement | null; container: HTMLDivElement | null; constructor(props: Props); componentDidMount(): void; componentWillReceiveProps(nextProps: any): void; componentWillUnmount(): void; setActiveBarWidth(): void; setActiveContentHeight(): void; handleClick(index: number): void; prev(): void; next(): void; play(): void; stop(): void; renderHead(prefixCls: any): any; renderBody(prefixCls: any): any; renderTabs: ({ getPrefixCls }: ConfigConsumerProps) => JSX.Element; render(): JSX.Element; }