滑块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属性的一部分。
源代码
如果您在此页面中找不到信息,请考虑查看组件的实现以获取更多详细信息。