UNPKG

2.67 kBTypeScriptView Raw
1/// <reference types="react" />
2
3import * as React from 'react';
4import CommonProps from '../util';
5
6interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
7 defaultValue?: any;
8 onChange?: any;
9}
10
11export interface RangeProps extends HTMLAttributesWeak, CommonProps {
12 /**
13 * 样式类名的品牌前缀
14 */
15 prefix?: string;
16
17 /**
18 * 自定义类名
19 */
20 className?: string;
21
22 /**
23 * 自定义内敛样式
24 */
25 style?: React.CSSProperties;
26
27 /**
28 * 滑块个数
29 */
30 slider?: 'single' | 'double';
31
32 /**
33 * 最小值
34 */
35 min?: number;
36
37 /**
38 * 最大值
39 */
40 max?: number;
41
42 /**
43 * 步长,取值必须大于 0,并且可被 (max - min) 整除。
44 */
45 step?: number;
46
47 /**
48 * 设置当前取值。当 `slider` 为 `single` 时,使用 `Number`,否则用 `[Number, Number]`
49 */
50 value?: number | [number, number];
51
52 /**
53 * 设置初始取值。当 `slider` 为 `single` 时,使用 `Number`,否则用 `[Number, Number]`
54 */
55 defaultValue?: number | [number, number];
56
57 /**
58 * 刻度数值显示逻辑(false 代表不显示,array 枚举显示的值,number 代表按 number 平分,object 表示按 key 划分,value 值显示)
59 */
60 marks?: boolean | number | Array<number> | {};
61
62 /**
63 * marks显示在上方('above')or下方('below')
64 */
65 marksPosition?: 'above' | 'below';
66
67 /**
68 * 值为 `true` 时,滑块为禁用状态
69 */
70 disabled?: boolean;
71
72 /**
73 * 当 Range 的值发生改变后,会触发 onChange 事件,并把改变后的值作为参数传入, 如果设置了value, 要配合此函数做受控使用
74 */
75 onChange?: (value: number | [number, number]) => void;
76
77 /**
78 * 滑块拖动的时候触发的事件,不建议在这里setState, 一般情况下不需要用, 滑动时有特殊需求时使用
79 */
80 onProcess?: (value: number | [number, number]) => void;
81
82 /**
83 * 是否显示 tip
84 */
85 hasTip?: boolean;
86
87 /**
88 * 自定义 tip 显示内容
89 */
90 tipRender?: (value: number | string) => React.ReactNode;
91
92 /**
93 * 选中态反转
94 */
95 reverse?: boolean;
96
97 /**
98 * 是否pure render
99 */
100 pure?: boolean;
101
102 /**
103 * 是否为拖动线段类型,默认slider为double, defaultValue必传且指定区间
104 */
105 fixedWidth?: boolean;
106
107 /**
108 * tooltip是否默认展示
109 */
110 tooltipVisible?: boolean;
111
112 /**
113 * 是否已rtl模式展示
114 */
115 rtl?: boolean;
116}
117
118export default class Range extends React.Component<RangeProps, any> {}