ukelli-ui
Version:
Base on React's UI lib. Make frontend's dev simpler and faster.
70 lines (69 loc) • 1.88 kB
TypeScript
import React, { Component } from 'react';
import { Children } from '../utils/props';
export interface TabsProps {
/** children */
children: JSX.Element | JSX.Element[];
/** tab 内容与 tab 标签是否在同一行 */
inRow?: boolean;
/** 是否只渲染 content */
onlyContent?: boolean;
/** tab 内容与 tab 标签是否共存 */
withContent?: boolean;
/** tab 可否关闭 */
closeable?: boolean;
/** 是否启用 step 分步模式 */
stepMode?: boolean;
/** 关闭组件的提示 */
closeTip?: Children;
/** tab 内容的高度 */
height?: number | string;
/** 当前激活的 idx,如果设置了,则为受控组件 */
activeTabIdx?: number;
/** 初始化是的默认 tab 位置 */
defaultTab?: number;
/** className */
className?: string;
/** tabs container 的 tabsClassName */
tabsClassName?: string;
/** tab 改变时的回调 */
onChangeTab?: (idx?: number) => void;
/** tab 关闭时的回调 */
onClose?: (closedTabIdx: any) => void;
}
interface State {
activeTabIdx: number;
}
/**
* 提供多种不同 Tab 切换方式与模版
*
* @export
* @class Tabs
* @extends {PureComponent}
*/
export default class Tabs extends Component<TabsProps, State> {
/**
* Tab 的引用
*
* @static
* @memberof Tabs
* @public
*/
static Tab: React.FunctionComponent<import("./tab").TabProps>;
static defaultProps: {
inRow: boolean;
withContent: boolean;
onlyContent: boolean;
closeable: boolean;
};
isControl: any;
constructor(props: any);
getActiveIdx(): number | undefined;
_onChangeTab(tabIdx: any): void;
onTapTab(tapIdx: any): void;
getTabContents(): {
tabs: any[];
tabContents: any[];
};
render(): JSX.Element;
}
export {};