jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
42 lines (41 loc) • 1.52 kB
TypeScript
import type { PropsWithChildren } from 'react';
import React from 'react';
import type { ClassValue, ThemeProps } from 'jamis-core';
import type { CollapseSchema } from '../types';
export interface CollapseProps extends PropsWithChildren, ThemeProps, Omit<CollapseSchema, 'className' | 'header' | 'collapseHeader' | 'expandIcon'> {
id?: string;
key?: string;
collapseId?: string;
propKey?: string;
header?: React.ReactNode;
showArrow?: boolean;
expandIcon?: React.ReactElement | null;
collapseHeader?: React.ReactElement | null;
wrapperComponent?: any;
headingComponent?: any;
propsUpdate?: boolean;
body: any;
headingClassName?: ClassValue;
onCollapse?: (item: any, collapsed: boolean) => void;
}
interface CollapseState {
collapsed: boolean;
}
export default class BasicCollapse extends React.Component<CollapseProps, CollapseState> {
static defaultProps: Partial<CollapseProps>;
state: CollapseState;
constructor(props: CollapseProps);
static getDerivedStateFromProps(nextProps: CollapseProps, preState: CollapseState): {
collapsed: boolean;
} | null;
toggleCollapsed(e: React.MouseEvent<HTMLElement>): void;
contentDom: any;
contentRef: (ref: any) => any;
handleEnter(elem: HTMLElement): void;
handleEntering(elem: HTMLElement): void;
handleEntered(elem: HTMLElement): void;
handleExit(elem: HTMLElement): void;
handleExiting(elem: HTMLElement): void;
render(): JSX.Element;
}
export {};