UNPKG

@alifd/next

Version:

A configurable component library for web built on React.

82 lines (81 loc) 4.76 kB
import React, { Component, type LegacyRef, type ReactNodeArray, type ComponentRef } from 'react'; import PropTypes from 'prop-types'; import Menu, { type MenuProps } from '../menu'; import VirtualList from '../virtual-list'; import type { CascaderMenuProps } from './types'; export default class CascaderMenu extends Component<CascaderMenuProps> { static propTypes: { prefix: PropTypes.Requireable<string>; className: PropTypes.Requireable<string>; useVirtual: PropTypes.Requireable<boolean>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; }; virtualEl: InstanceType<typeof VirtualList> | null; menuEl: HTMLDivElement; componentDidMount(): void; scrollToSelectedItem(): void; renderMenu(items: ReactNodeArray, ref: LegacyRef<ComponentRef<typeof Menu>> | undefined, props: MenuProps): React.JSX.Element; saveMenuRef: (ref: HTMLDivElement) => void; saveVirtualRef: (ref: import("../config-provider/types").ConfiguredComponent<import("../virtual-list").VirtualListProps & import("../config-provider/types").ComponentCommonProps, { cache: { [key: number]: number; }; cacheAdd: { [key: number]: number; }; cachedScroll: number | null; unstable: boolean; updateCounter: number; updateCounterTimeoutId?: number | undefined; el: HTMLElement | null; items: React.ReactInstance | null; defaultItemHeight: number; scrollParent: Window | HTMLElement; componentDidMount(): void; componentDidUpdate(prevProps: import("../virtual-list").VirtualListProps): void; componentWillUnmount(): void; maybeSetState(b: import("../virtual-list/types").VirtualListState, cb: () => void): void; getEl(): {}; getScrollParent(): (Window & typeof globalThis) | HTMLElement; getScroll(): number; setScroll(offset: number): void; getViewportSize(): number; getScrollSize(): number; getStartAndEnd(threshold?: number | undefined): { start: number; end: number; }; updateFrameAndClearCache(cb: () => void): void; updateFrame(cb?: (() => void) | undefined): void; updateScrollParent(): void; updateVariableFrame(cb: () => void): void; getSpaceBefore(index: number, cache?: { [key: number]: number; }): number; cacheSizes(): void; getSizeOf(index: number): number | void; scrollTo(index: number): void; renderMenuItems(): React.ReactNode; render(): React.JSX.Element; context: any; setState<K extends keyof import("../virtual-list/types").VirtualListState>(state: import("../virtual-list/types").VirtualListState | ((prevState: Readonly<import("../virtual-list/types").VirtualListState>, props: Readonly<import("../virtual-list").VirtualListProps>) => import("../virtual-list/types").VirtualListState | Pick<import("../virtual-list/types").VirtualListState, K> | null) | Pick<import("../virtual-list/types").VirtualListState, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly<import("../virtual-list").VirtualListProps> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<import("../virtual-list/types").VirtualListState>; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly<import("../virtual-list").VirtualListProps>, nextState: Readonly<import("../virtual-list/types").VirtualListState>, nextContext: any): boolean; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<import("../virtual-list").VirtualListProps>, prevState: Readonly<import("../virtual-list/types").VirtualListState>): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<import("../virtual-list").VirtualListProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<import("../virtual-list").VirtualListProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<import("../virtual-list").VirtualListProps>, nextState: Readonly<import("../virtual-list/types").VirtualListState>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<import("../virtual-list").VirtualListProps>, nextState: Readonly<import("../virtual-list/types").VirtualListState>, nextContext: any): void; }>) => void; render(): React.JSX.Element; }