antd-mini
Version:
antd-mini 是支付宝小程序 UI 组件库,遵循 Ant Design 规范。
97 lines (83 loc) • 1.92 kB
text/typescript
import { IBaseProps } from '../_util/base';
export type Value = string | number;
export interface ISelectorItem {
/**
* @description 主文案
*/
text: string;
/**
* @description 选项值,在同一个 Selector 中唯一
*/
value: Value;
/**
* @description 辅助文案
*/
subText?: string;
/**
* @description 单个禁用
*/
disabled?: boolean;
}
/**
* @description 筛选器,可供用户进行单选或者多选。
*/
export interface ISelectorProps extends IBaseProps {
/**
* @description 已选择项, 取 items 每一项的 value
*/
value: Value | Value[];
/**
* @description 默认选择项, 取 items 每一项的 value
*/
defaultValue: Value | Value[];
/**
* @description 可选项
*/
options: ISelectorItem[];
/**
* @description 每一项激活时新加类名
*/
activeItemClassName: string;
/**
* @description 每一项激活时样式
*/
activeItemStyle: string;
/**
* @description 是否允许多选
* @default false
*/
multiple: boolean;
/**
* @description 最小选择数量
*/
minSelectedCount: number;
/**
* @description 最大选择数量
*/
maxSelectedCount: number;
disabled?: boolean;
onChange?(
value: Value | Value[] | undefined,
item: ISelectorItem | ISelectorItem[] | undefined,
e: Record<string, any>
): void;
/**
* @description 触发最大限制
*/
onSelectMax?(value: Value, item: ISelectorItem, e: Record<string, any>): void;
/**
* @description 触发最小限制
*/
onSelectMin?(value: Value, item: ISelectorItem, e: Record<string, any>): void;
}
export const SelectorDefaultProps: Partial<ISelectorProps> = {
value: null,
defaultValue: null,
options: null,
activeItemClassName: '',
activeItemStyle: '',
multiple: false,
minSelectedCount: null,
maxSelectedCount: null,
disabled: false,
};