Skip to content

滑块

滑块控件用于在连续或离散区间内选择数值。

基础用法

ts
const config = {
  type: 'slider',
  formItem: {
    label: '进度'
  },
  slider: {
    min: 0,
    max: 100,
    step: 10,
    marks: {
      0: '0%',
      50: '50%',
      100: '100%'
    }
  }
}

范围选择

ts
const config = {
  type: 'slider',
  formItem: {
    label: '价格区间'
  },
  slider: {
    range: true,
    min: 0,
    max: 1000,
    step: 100,
    marks: {
      0: '0',
      500: '500',
      1000: '1000'
    }
  }
}

API

属性说明类型默认值
autofocus自动获取焦点booleanfalse
disabled值为 true 时,滑块为禁用状态booleanfalse
dots是否只能拖拽到刻度上booleanfalse
includedmarks 不为空对象时有效,值为 true 时表示值为包含关系,false 表示并列booleantrue
mark自定义刻度标记slot-
marks刻度标记,key 的类型必须为 number 且取值在闭区间 [min, max] 内,每个标签可以单独设置样式object-
max最大值number100
min最小值number0
range双滑块模式booleanfalse
reverse反向坐标轴booleanfalse
step步长,取值必须大于 0,并且可被 (max - min) 整除。当 marks 不为空对象时,可以设置 step 为 null,此时 Slider 的可选值仅有 marks 标出来的部分。number1
value设置当前取值。当 range 为 false 时,使用 number,否则用 [number, number]number-
vertical值为 true 时,Slider 为垂直方向booleanfalse
tipFormatterSlider 会把当前值传给 tipFormatter,并在 Tooltip 中显示 tipFormatter 的返回值,若为 null,则隐藏 Tooltip。FunctionIDENTITY
tooltipPlacement设置 Tooltip 展示位置。参考 Tooltip。string-
tooltipOpen值为true时,Tooltip 将会始终显示;否则始终不显示,哪怕在拖拽及移入时。boolean-
getTooltipPopupContainerTooltip 渲染父节点,默认渲染到 body 上。Function() => document.body

更多属性请参考 Ant Design Vue Slider

示例

vue
<script setup lang="ts">
const columns = [
  {
    title: '完成进度',
    dataIndex: 'progress',
    edit: {
      type: 'slider',
      formItem: {
        label: '完成进度',
        required: true
      },
      slider: {
        min: 0,
        max: 100,
        step: 10,
        marks: {
          0: '0%',
          50: '50%',
          100: '100%'
        }
      }
    }
  },
  {
    title: '价格区间',
    dataIndex: 'priceRange',
    edit: {
      type: 'slider',
      formItem: {
        label: '价格区间'
      },
      slider: {
        range: true,
        min: 0,
        max: 1000,
        step: 100,
        marks: {
          0: '¥0',
          500: '¥500',
          1000: '¥1000'
        },
        tooltipVisible: true
      }
    }
  }
]
</script>

根据 Apache-2.0 许可发布。