props.d.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { IBaseProps } from '../_util/base';
  2. export type Value = string | number;
  3. export interface ISelectorItem {
  4. /**
  5. * @description 主文案
  6. */
  7. text: string;
  8. /**
  9. * @description 选项值,在同一个 Selector 中唯一
  10. */
  11. value: Value;
  12. /**
  13. * @description 辅助文案
  14. */
  15. subText?: string;
  16. /**
  17. * @description 单个禁用
  18. */
  19. disabled?: boolean;
  20. }
  21. /**
  22. * @description 筛选器,可供用户进行单选或者多选。
  23. */
  24. export interface ISelectorProps extends IBaseProps {
  25. /**
  26. * @description 已选择项, 取 items 每一项的 value
  27. */
  28. value: Value | Value[];
  29. /**
  30. * @description 默认选择项, 取 items 每一项的 value
  31. */
  32. defaultValue: Value | Value[];
  33. /**
  34. * @description 可选项
  35. */
  36. options: ISelectorItem[];
  37. /**
  38. * @description 每一项激活时新加类名
  39. */
  40. activeItemClassName: string;
  41. /**
  42. * @description 每一项激活时样式
  43. */
  44. activeItemStyle: string;
  45. /**
  46. * @description 是否允许多选
  47. * @default false
  48. */
  49. multiple: boolean;
  50. /**
  51. * @description 最小选择数量
  52. */
  53. minSelectedCount: number;
  54. /**
  55. * @description 最大选择数量
  56. */
  57. maxSelectedCount: number;
  58. disabled?: boolean;
  59. onChange?(value: Value | Value[] | undefined, item: ISelectorItem | ISelectorItem[] | undefined, e: Record<string, any>): void;
  60. /**
  61. * @description 触发最大限制
  62. */
  63. onSelectMax?(value: Value, item: ISelectorItem, e: Record<string, any>): void;
  64. /**
  65. * @description 触发最小限制
  66. */
  67. onSelectMin?(value: Value, item: ISelectorItem, e: Record<string, any>): void;
  68. }
  69. export declare const SelectorDefaultProps: Partial<ISelectorProps>;