@@ -6,17 +6,20 @@ import SliderContext from '../context';
6
6
export interface DotProps {
7
7
prefixCls : string ;
8
8
value : number ;
9
+ marksValue : number [ ] ;
9
10
style ?: React . CSSProperties | ( ( dotValue : number ) => React . CSSProperties ) ;
10
11
activeStyle ?: React . CSSProperties | ( ( dotValue : number ) => React . CSSProperties ) ;
11
12
}
12
13
13
14
export default function Dot ( props : DotProps ) {
14
- const { prefixCls, value, style, activeStyle } = props ;
15
+ const { prefixCls, marksValue , value, style, activeStyle } = props ;
15
16
const { min, max, direction, included, includedStart, includedEnd } =
16
17
React . useContext ( SliderContext ) ;
17
18
18
19
const dotClassName = `${ prefixCls } -dot` ;
20
+ const marksDotClassName = `${ prefixCls } -marks-dot` ;
19
21
const active = included && includedStart <= value && value <= includedEnd ;
22
+ const marksDot = marksValue . includes ( value ) ;
20
23
21
24
// ============================ Offset ============================
22
25
let mergedStyle = {
@@ -33,9 +36,15 @@ export default function Dot(props: DotProps) {
33
36
34
37
return (
35
38
< span
36
- className = { classNames ( dotClassName , {
37
- [ `${ dotClassName } -active` ] : active ,
38
- } ) }
39
+ className = { classNames (
40
+ dotClassName ,
41
+ {
42
+ [ `${ dotClassName } -active` ] : active ,
43
+ } ,
44
+ {
45
+ [ marksDotClassName ] : marksDot ,
46
+ } ,
47
+ ) }
39
48
style = { mergedStyle }
40
49
/>
41
50
) ;
0 commit comments