choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
63 lines (62 loc) • 2.06 kB
TypeScript
import React, { Component, CSSProperties, ReactNode } from 'react';
import noop from 'lodash/noop';
import { TransferItem } from './index';
import { InputProps } from '../input';
export interface TransferListProps {
prefixCls: string;
checkboxPrefixCls?: string;
titleText: string;
dataSource: TransferItem[];
filter: string;
filterOption?: (filterText: any, item: any) => boolean;
style?: CSSProperties;
checkedKeys: string[];
highlightKey?: string;
handleFilter: (e: any) => void;
handleSelect: (selectedItem: any, checked: boolean) => void;
handleSelectAll: (dataSource: any[], checkAll: boolean) => void;
handleClear: () => void;
render?: (item: any) => any;
showSearch?: boolean;
searchPlaceholder: string;
notFoundContent: ReactNode;
itemUnit: string;
itemsUnit: string;
body?: (props: any) => any;
footer?: (props: any) => any;
lazy?: boolean | {};
onScroll: Function;
inputProps?: InputProps;
}
export default class TransferList extends Component<TransferListProps, any> {
static displayName: string;
static defaultProps: {
dataSource: never[];
titleText: string;
showSearch: boolean;
render: typeof noop;
lazy: {};
};
timer: number;
triggerScrollTimer: number;
fixIERepaintTimer: number;
notFoundNode: HTMLDivElement;
state: {
mounted: boolean;
};
componentDidMount(): void;
componentWillUnmount(): void;
shouldComponentUpdate(...args: any[]): any;
getCheckStatus(filteredDataSource: TransferItem[]): "all" | "none" | "part";
handleSelect: (selectedItem: TransferItem) => void;
handleFilter: (e: React.ChangeEvent<HTMLInputElement>) => void;
handleClear: () => void;
matchFilter: (text: string, item: TransferItem) => boolean;
renderItem: (item: TransferItem) => {
renderedText: any;
renderedEl: any;
};
saveNotFoundRef: (node: HTMLDivElement) => void;
fixIERepaint(): void;
render(): JSX.Element;
}