/**
* @file Checkboxes
* @description 多选输入框
* @author fex
*/
///
import React from 'react';
import { LocaleProps, ThemeProps, ClassNamesFn } from 'amis-core';
import { Option, Options } from './Select';
export interface BaseSelectionProps extends ThemeProps, LocaleProps {
options: Options;
className?: string;
placeholder?: string;
value?: any | Array;
multiple?: boolean;
clearable?: boolean;
labelField?: string;
valueField?: string;
deferField?: string;
onChange?: (value: Array | any) => void;
onDeferLoad?: (option: Option) => void;
onLeftDeferLoad?: (option: Option, leftOptions: Option) => void;
inline?: boolean;
labelClassName?: string;
option2value?: (option: Option) => any;
itemClassName?: string;
itemHeight?: number;
virtualThreshold?: number;
virtualListHeight?: number;
itemRender: (option: Option, states: ItemRenderStates) => JSX.Element;
disabled?: boolean;
onClick?: (e: React.MouseEvent) => void;
placeholderRender?: (props: any) => JSX.Element | null;
checkAll?: boolean;
checkAllLabel?: string;
}
export interface ItemRenderStates {
index: number;
labelField?: string;
multiple?: boolean;
checked: boolean;
onChange: () => void;
disabled?: boolean;
classnames: ClassNamesFn;
}
export declare class BaseSelection extends React.Component {
static itemRender(option: Option, states: ItemRenderStates): React.JSX.Element;
static defaultProps: {
placeholder: string;
itemRender: typeof BaseSelection.itemRender;
multiple: boolean;
clearable: boolean;
virtualThreshold: number;
itemHeight: number;
};
static value2array(value: any, options: Options, option2value?: (option: Option) => any, valueField?: string): Options;
static resolveSelected(value: any, options: Options, option2value?: (option: Option) => any): Option | null;
intersectArray(arr1: undefined | Array