@@ -6,17 +6,20 @@ import SliderContext from '../context';
66export interface DotProps {
77 prefixCls : string ;
88 value : number ;
9+ marksValue : number [ ] ;
910 style ?: React . CSSProperties | ( ( dotValue : number ) => React . CSSProperties ) ;
1011 activeStyle ?: React . CSSProperties | ( ( dotValue : number ) => React . CSSProperties ) ;
1112}
1213
1314export default function Dot ( props : DotProps ) {
14- const { prefixCls, value, style, activeStyle } = props ;
15+ const { prefixCls, marksValue , value, style, activeStyle } = props ;
1516 const { min, max, direction, included, includedStart, includedEnd } =
1617 React . useContext ( SliderContext ) ;
1718
1819 const dotClassName = `${ prefixCls } -dot` ;
20+ const marksDotClassName = `${ prefixCls } -marks-dot` ;
1921 const active = included && includedStart <= value && value <= includedEnd ;
22+ const marksDot = marksValue . includes ( value ) ;
2023
2124 // ============================ Offset ============================
2225 let mergedStyle = {
@@ -33,9 +36,15 @@ export default function Dot(props: DotProps) {
3336
3437 return (
3538 < 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+ ) }
3948 style = { mergedStyle }
4049 />
4150 ) ;
0 commit comments