• 简体中文
  • Slider 滑动输入条

    通过滑动选择数值或区间。

    基础用法

    交互预览基础用法

    当前数值:35

    basic.tsx
    import { Slider, type SliderMark } from '@sudden3/leaf-ui';
    import { useState } from 'react';
    
    const marks: SliderMark[] = [
      { value: 0, label: '低' },
      { value: 50, label: '中' },
      { value: 100, label: '高' },
    ];
    export function SliderBasic() {
      const [value, setValue] = useState(35);
      return (
        <div className="leaf-demo-stack leaf-demo-stack--wide">
          <Slider aria-label="音量" value={value} onChange={setValue} marks={marks} />
          <p className="leaf-demo-note">当前数值:{value}</p>
          <Slider aria-label="预算" range defaultValue={[20, 70]} marks={marks} />
          <Slider aria-label="禁用数值" defaultValue={45} disabled />
          <Slider aria-label="垂直数值" vertical defaultValue={60} />
        </div>
      );
    }
    

    Slider API

    属性类型默认值说明
    value / defaultValuenumber | readonly [number, number]0 / [min, max]受控 / 初始数值,区间为二元数组
    onChange(value: number) => void | (value: [number, number]) => void—数值变化,回调类型由 range 决定
    rangebooleanfalse区间选择
    min / max / stepnumber0 / 100 / 1范围与步长
    marksreadonly SliderMark[][]刻度列表
    vertical / showValuebooleanfalse / true垂直布局 / 悬停或聚焦时显示数值
    onChangeComplete(value: number | readonly [number, number]) => void—拖动或键盘操作完成后触发
    disabled / readOnlybooleanfalse禁用 / 只读
    name / formstring—字段名 / 关联表单

    SliderMark

    属性类型默认值说明
    valuenumber必填刻度位置
    labelReactNodevalue刻度文字

    类型

    定义组件属性或组装列表时可导入相关类型。

    import type { SliderProps, SliderMark } from '@sudden3/leaf-ui';

    使用说明

    方向键调整数值,Home / End 跳至边界,Shift + 方向键和 PageUp / PageDown 调整十个步长。区间的两个端点不会互相穿越。表单中 range 使用同一个 name 提交两个值,可用 FormData.getAll 读取,并支持表单 reset。