表单与选择@neumorphism-ui/slider

Slider

基于 Base UI Slider,提供单值与 number[] 范围 API。根据数组项数量创建 thumb,并通过 thumbLabels 为每个 input 命名;同时支持横向、纵向以及受控、非受控值。

@neumorphism-ui/slider
Registry JSON

预览

价格范围₩32K – ₩72K
纵向排列

安装

安装: slidernpx shadcn@latest add @neumorphism-ui/slider

CLI 会依次处理 npm 依赖、base token、utils 和组件源码。

首次使用此 Registry?请先完成 namespace 配置 。

用法

用法: 安装npx shadcn@latest add @neumorphism-ui/slider @neumorphism-ui/label

Import

Slider import 代码
import { Slider } from "@/components/ui/slider"
import { Label } from "@/components/ui/label"

Example

Slider 用法代码
<div className="grid gap-3">
  <div className="flex justify-between">
    <Label id="depth-label">深度强度</Label>
    <output>64%</output>
  </div>
  <Slider
    defaultValue={[64]}
    min={0}
    max={100}
    step={1}
    aria-labelledby="depth-label"
    thumbLabels={["深度强度"]}
  />
</div>

API 参考

组件属性类型默认值说明
Slidervalue / defaultValuenumber[][min]每个 thumb 的受控值或非受控初始值。
Slidermin / maxnumber0 / 100可选择的数值范围。
Sliderstepnumber1键盘和指针调整的步长。
Sliderorientation"horizontal" | "vertical""horizontal"设置 track 方向和键盘操作轴。
SliderthumbLabelsreadonly string[]—按值的顺序传给每个真实 thumb input 的无障碍名称。
SlideronValueChange / onValueCommitted(value: number | number[]) => void—在调整过程中或调整结束时传递值数组。
Sliderdisabledbooleanfalse禁用所有 thumb 的交互。

无障碍

  • 01

    Slider 根元素通过 aria-label 或 aria-labelledby 提供组合名称,thumbLabels 则按值的顺序为各调节点命名。

  • 02

    Base UI 负责每个 thumb 的 role=slider、当前值、最小值与最大值,以及 Arrow、Page、Home、End 键行为。

  • 03

    单值提供一个名称;范围值应在 thumbLabels 中使用“最小值”“最大值”等可区分的名称。