chowa
Version:
UI component library based on React
61 lines (60 loc) • 2.31 kB
TypeScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from 'react';
import * as PropTypes from 'prop-types';
import { Data, Record, Mode } from './transfer';
export interface TransferModelProps {
data: Data;
formatter: (record: Record) => React.ReactNode;
title: React.ReactNode;
searchable: boolean;
searchPlaceholder: string;
noDataDescription: React.ReactNode;
noDataImg: string;
noDataImgStyle: React.CSSProperties;
onChange: (indexs: React.ReactText[]) => void;
listStyle: React.CSSProperties;
footer: React.ReactNode;
selectedIndexs: React.ReactText[];
onSearch: (value: string, mode: Mode) => void;
filterOption: (data: Data, searchVal: string, mode: Mode) => Data;
mode: Mode;
disabled: boolean;
}
export interface TransferModelState {
searchVal: string;
selectAll: boolean;
renderData: Data;
}
declare class TransferModel extends React.PureComponent<TransferModelProps, TransferModelState> {
static propTypes: {
data: PropTypes.Validator<any[]>;
formatter: PropTypes.Requireable<(...args: any[]) => any>;
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
searchable: PropTypes.Requireable<boolean>;
searchPlaceholder: PropTypes.Requireable<string>;
noDataDescription: PropTypes.Requireable<string>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
listStyle: PropTypes.Requireable<object>;
footer: PropTypes.Requireable<PropTypes.ReactNodeLike>;
selectedIndexs: PropTypes.Requireable<any[]>;
onSearch: PropTypes.Requireable<(...args: any[]) => any>;
filterOption: PropTypes.Requireable<(...args: any[]) => any>;
mode: PropTypes.Requireable<string>;
disabled: PropTypes.Requireable<boolean>;
};
constructor(props: TransferModelProps);
private getFilterRenderData;
private onSearchInputChangeHandler;
private onSelectAllChangeHandler;
private selectItemHandler;
componentDidUpdate(preProps: TransferModelProps): void;
render(): JSX.Element;
}
export default TransferModel;