滑块API
React 滑块组件的 API 参考文档。了解此导出模块的属性、CSS 和其他 API。
示例
导入
import Slider from '@mui/joy/Slider';
// or
import { Slider } from '@mui/joy';
阅读这份关于最小化 bundle 大小的指南,了解它们之间的区别。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
aria-label | 字符串 | - | 滑块的标签。 |
aria-valuetext | 字符串 | - | 一个字符串值,为滑块的当前值提供用户友好的名称。 |
classes | 对象 | - | 覆盖或扩展应用于组件的样式。 有关更多详细信息,请参阅下面的 CSS 类 API。 |
color | 'danger' | 'neutral' | 'primary' | 'success' | 'warning' | 字符串 | 'primary' | 组件的颜色。它支持对该组件有意义的主题颜色。 要了解如何添加自己的颜色,请查看主题组件——扩展颜色。 |
component | 元素类型 | - | 用于根节点的组件。可以是用于 HTML 元素的字符串或组件。 |
defaultValue | Array<number> | 数字 | - | 默认值。当组件不受控制时使用。 |
disabled | 布尔值 | false | 如果为 |
disableSwap | 布尔值 | false | 如果为 |
getAriaLabel | 函数 | - | 接受一个函数,该函数返回一个字符串值,为滑块的滑块标签提供用户友好的名称。这对屏幕阅读器用户很重要。 签名: function(index: number) => string
|
getAriaValueText | 函数 | - | 接受一个函数,该函数返回一个字符串值,为滑块的当前值提供用户友好的名称。这对屏幕阅读器用户很重要。 签名: function(value: number, index: number) => string
|
isRtl | 布尔值 | false | 如果为 |
marks | Array<{ label?: node, value: number }> | 布尔值 | false | 标记指示用户可以将滑块移动到的预定值。如果为 |
max | 数字 | 100 | 滑块允许的最大值。不应等于最小值。 |
min | 数字 | 0 | 滑块允许的最小值。不应等于最大值。 |
name | 字符串 | - | 隐藏 |
onChange | 函数 | - | 当滑块的值更改时触发的回调函数。 签名: function(event: Event, value: number | Array<number>, activeThumb: number) => void
|
onChangeCommitted | 函数 | - | 当触发 签名: function(event: React.SyntheticEvent | Event, value: number | Array<number>) => void
|
orientation | 'horizontal' | 'vertical' | 'horizontal' | 组件方向。 |
scale | 函数 | function Identity(x) { return x; } | 一个转换函数,用于更改滑块的比例。 签名: function(x: any) => any |
shiftStep | 数字 | 10 | 当使用 Page Up/Page Down 或 Shift + 向上/向下箭头时,滑块可以步进值的粒度。 |
size | 'sm' | 'md' | 'lg' | 字符串 | 'md' | 组件的尺寸。它接受 'sm' 和 'lg' 之间的主题值。 要了解如何向组件添加自定义尺寸,请查看主题组件——扩展尺寸。 |
slotProps | { input?: 函数 | 对象, mark?: 函数 | 对象, markLabel?: 函数 | 对象, rail?: 函数 | 对象, root?: 函数 | 对象, thumb?: 函数 | 对象, track?: 函数 | 对象, valueLabel?: 函数 | 对象 } | {} | 用于每个内部插槽的属性。 |
slots | { input?: 元素类型, mark?: 元素类型, markLabel?: 元素类型, rail?: 元素类型, root?: 元素类型, thumb?: 元素类型, track?: 元素类型, valueLabel?: 元素类型 } | {} | 用于每个内部插槽的组件。 有关更多详细信息,请参阅下面的插槽 API。 |
step | 数字 | 1 | 滑块可以步进值的粒度。(“离散”滑块。) |
sx | Array<函数 | 对象 | 布尔值> | 函数 | 对象 | - | 允许定义系统覆盖以及其他 CSS 样式的系统属性。 有关更多详细信息,请参阅 `sx` 页面。 |
tabIndex | 数字 | - | 隐藏 |
track | 'inverted' | 'normal' | false | 'normal' | 轨道呈现
|
value | Array<number> | 数字 | - | 滑块的值。对于范围滑块,请提供包含两个值的数组。 |
valueLabelDisplay | 'auto' | 'off' | 'on' | 'off' | 控制何时显示值标签
|
valueLabelFormat | 函数 | 字符串 | function Identity(x) { return x; } | 格式化值标签的值的函数。 |
variant | 'outlined' | 'plain' | 'soft' | 'solid' | 字符串 | 'solid' | 要使用的全局变体。 要了解如何添加自己的变体,请查看主题组件——扩展变体。 |
ref
被转发到根元素。主题默认属性
您可以使用 JoySlider
通过主题更改此组件的默认属性。
要了解如何自定义插槽,请查看覆盖组件结构指南。
插槽名称 | 类名 | 默认组件 | 描述 |
---|---|---|---|
根 | .MuiSlider-root | 'span' | 渲染根的组件。 |
track | .MuiSlider-track | 'span' | 渲染轨道的组件。 |
轨道 | .MuiSlider-rail | 'span' | 渲染轨道的组件。 |
滑块 | .MuiSlider-thumb | 'span' | 渲染滑块的组件。 |
标记 | .MuiSlider-mark | 'span' | 渲染标记的组件。 |
标记标签 | .MuiSlider-markLabel | 'span' | 渲染标记标签的组件。 |
值标签 | 'span' | 渲染值标签的组件。 | |
输入 | 'input' | 渲染输入的组件。 |
这些类名对于使用 CSS 进行样式设置很有用。当触发特定状态时,它们将应用于组件的插槽。
类名 | 规则名称 | 描述 |
---|---|---|
.Mui-active | 如果滑块元素处于活动状态,则应用于它的状态类。 | |
.Mui-disabled | 如果 disabled={true} ,则应用于根元素和滑块元素的状态类。 | |
.Mui-focusVisible | 如果键盘聚焦,则应用于滑块元素的状态类。 | |
.MuiSlider-dragging | 拖动 | 如果正在拖动滑块,则应用于根元素的状态类。 |
.MuiSlider-markActive | 标记活动 | 如果标记处于活动状态(取决于值),则应用于标记元素的类名。 |
.MuiSlider-marked | 已标记 | 如果 marks 提供了至少一个标签,则应用于根元素的类名。 |
.MuiSlider-markLabelActive | 标记标签活动 | 如果标记标签处于活动状态(取决于值),则应用于标记标签元素的类名。 |
.MuiSlider-trackFalse | 轨道False | 如果 track={false} ,则应用于根元素的类名。 |
.MuiSlider-trackInverted | 轨道反转 | 如果 track="inverted" ,则应用于根元素的类名。 |
.MuiSlider-vertical | 垂直 | 如果 orientation="vertical" ,则应用于根元素的类名。 |
您可以使用以下定制选项之一覆盖组件的样式
- 使用全局类名。
- 使用规则名称作为自定义主题中组件的
styleOverrides
属性的一部分。
源代码
如果您在此页面中找不到信息,请考虑查看组件的实现以获取更多详细信息。