Back to Ant Design

Slider

components/slider/index.zh-CN.md

6.3.75.1 KB
Original Source

何时使用 {#when-to-use}

当用户需要在数值区间/自定义区间内进行选择时,可为连续或离散值。

代码演示 {#examples}

<!-- prettier-ignore -->

<code src="./demo/basic.tsx">基本</code> <code src="./demo/input-number.tsx">带输入框的滑块</code> <code src="./demo/icon-slider.tsx">带 icon 的滑块</code> <code src="./demo/tip-formatter.tsx">自定义提示</code> <code src="./demo/event.tsx">事件</code> <code src="./demo/mark.tsx">带标签的滑块</code> <code src="./demo/vertical.tsx">垂直</code> <code src="./demo/show-tooltip.tsx">控制 ToolTip 的显示</code> <code src="./demo/reverse.tsx">反向</code> <code src="./demo/draggableTrack.tsx">范围可拖拽</code> <code src="./demo/multiple.tsx">多点组合</code> <code src="./demo/editable.tsx" version="5.20.0">动态增减节点</code> <code src="./demo/style-class.tsx" version="6.0.0">自定义语义结构的样式和类</code> <code src="./demo/component-token.tsx" debug>组件 Token</code>

API

通用属性参考:通用属性

参数说明类型默认值版本
classNames用于自定义组件内部各语义化结构的 class,支持对象或函数Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-
defaultValue设置初始取值。当 range 为 false 时,使用 number,否则用 [number, number]number | [number, number]0 | [0, 0]
disabled值为 true 时,滑块为禁用状态booleanfalse
keyboard支持使用键盘操作 handlerbooleantrue5.2.0+
dots是否只能拖拽到刻度上booleanfalse
includedmarks 不为空对象时有效,值为 true 时表示值为包含关系,false 表示并列booleantrue
marks刻度标记,key 的类型必须为 number 且取值在闭区间 [min, max] 内,每个标签可以单独设置样式object{ number: ReactNode } or { number: { style: CSSProperties, label: ReactNode } }
max最大值number100
min最小值number0
orientation排列方向horizontal | verticalhorizontal
range双滑块模式boolean | rangefalse
reverse反向坐标轴booleanfalse
step步长,取值必须大于 0,并且可被 (max - min) 整除。当 marks 不为空对象时,可以设置 step 为 null,此时 Slider 的可选值仅有 marksminmaxnumber | null1
styles用于自定义组件内部各语义化结构的行内 style,支持对象或函数Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-
tooltip设置 Tooltip 相关属性tooltip-4.23.0
value设置当前取值。当 range 为 false 时,使用 number,否则用 [number, number]number | [number, number]-
vertical值为 true 时,Slider 为垂直方向。与 orientation 同时存在,以 orientation 优先booleanfalse
onChangeCompletemouseupkeyup 触发时机一致,把当前值作为参数传入(value) => void-
onChange当 Slider 的值发生改变时,会触发 onChange 事件,并把改变后的值作为参数传入(value) => void-

range

参数说明类型默认值版本
draggableTrack范围刻度是否可被拖拽booleanfalse
editable启动动态增减节点,不能和 draggableTrack 一同使用booleanfalse5.20.0
minCount配置 editable 时,最小节点数量number05.20.0
maxCount配置 editable 时,最大节点数量number-5.20.0

tooltip

参数说明类型默认值版本
autoAdjustOverflow是否自动调整弹出位置booleantrue5.8.0
open值为 true 时,Tooltip 将会始终显示;否则始终不显示,哪怕在拖拽及移入时boolean-4.23.0
placement设置 Tooltip 展示位置。参考 Tooltipstring-4.23.0
getPopupContainerTooltip 渲染父节点,默认渲染到 body 上(triggerNode) => HTMLElement() => document.body4.23.0
formatterSlider 会把当前值传给 formatter,并在 Tooltip 中显示 formatter 的返回值,若为 null,则隐藏 Tooltipvalue => ReactNode | nullIDENTITY4.23.0

方法

名称描述版本
blur()移除焦点
focus()获取焦点

Semantic DOM

<code src="./demo/_semantic.tsx" simplify="true"></code>

主题变量(Design Token){#design-token}

<ComponentTokenTable component="Slider"></ComponentTokenTable>