• Slider 滑块
    • 概述
    • 代码示例
    • API
      • Slider props
      • Slider events

    Slider 滑块

    概述

    滑动输入器,用于在数值区间/自定义区间内进行选择,支持连续或离散值。

    代码示例

    Slider 滑块 - 图1

    基础用法

    滑块的基本用法,可以使用 v-model 双向绑定数据。

    通过设置属性 range 开启双滑块,通过设置属性 disabled 禁用滑块。

    注意,单滑块时,value 格式为数字,当开启双滑块时,value 为长度是2的数组,且每项为数字。

    1. <template>
    2. <Slider v-model="value1"></Slider>
    3. <Slider v-model="value2" range></Slider>
    4. <Slider v-model="value3" range disabled></Slider>
    5. </template>
    6. <script>
    7. export default {
    8. data () {
    9. return {
    10. value1: 25,
    11. value2: [20, 50],
    12. value3: [20, 50]
    13. }
    14. }
    15. }
    16. </script>

    Slider 滑块 - 图2

    离散值

    通过设置属性 step 可以控制每次滑动的间隔。

    1. <template>
    2. <Slider v-model="value4" :step="10"></Slider>
    3. <Slider v-model="value5" :step="10" range></Slider>
    4. </template>
    5. <script>
    6. export default {
    7. data () {
    8. return {
    9. value4: 30,
    10. value5: [20, 50]
    11. }
    12. }
    13. }
    14. </script>

    Slider 滑块 - 图3

    显示间断点

    通过设置属性 show-stops 可以显示间断点,建议在 step 间隔不密集时使用。

    1. <template>
    2. <Slider v-model="value6" :step="10" show-stops></Slider>
    3. <Slider v-model="value7" :step="10" show-stops range></Slider>
    4. </template>
    5. <script>
    6. export default {
    7. data () {
    8. return {
    9. value6: 30,
    10. value7: [20, 50]
    11. }
    12. }
    13. }
    14. </script>

    Slider 滑块 - 图4

    带有输入框

    通过设置属性 show-input 可以显示数字输入框,配合使用,仅在单滑块模式下有效。

    1. <template>
    2. <Slider v-model="value8" show-input></Slider>
    3. </template>
    4. <script>
    5. export default {
    6. data () {
    7. return {
    8. value8: 25
    9. }
    10. }
    11. }
    12. </script>

    Slider 滑块 - 图5

    自定义提示

    Slider 会把当前值传给 tip-format,并在 Tooltip 中显示 tip-format 的返回值,若为 null,则隐藏 Tooltip。

    1. <template>
    2. <Slider v-model="value9" :tip-format="format"></Slider>
    3. <Slider v-model="value10" :tip-format="hideFormat"></Slider>
    4. </template>
    5. <script>
    6. export default {
    7. data () {
    8. return {
    9. value9: 25,
    10. value10: 25
    11. }
    12. },
    13. methods: {
    14. format (val) {
    15. return 'Progress: ' + val + '%';
    16. },
    17. hideFormat () {
    18. return null;
    19. }
    20. }
    21. }
    22. </script>

    Slider 滑块 - 图6

    展示标记

    4.0.0 设置属性 marks 可以显示标记。

    标记的 key 取值应该在闭合区间 [min, max] 内。

    标记点也可以通过 style 和 label 自定义样式。

    1. <template>
    2. <Slider v-model="value11" range :marks="marks"></Slider>
    3. </template>
    4. <script>
    5. export default {
    6. data () {
    7. return {
    8. value11: [25, 65],
    9. marks: {
    10. 0: '0°C',
    11. 12: '12°C',
    12. 32: '32°C',
    13. 55: {
    14. style: {
    15. color: '#ff0000'
    16. },
    17. label: this.$createElement('strong', '55°C')
    18. }
    19. }
    20. }
    21. }
    22. }
    23. </script>

    API

    Slider props

    属性说明类型默认值
    value滑块选定的值,可以使用 v-model 双向绑定数据。普通模式下,数据格式为数字,在双滑块模式下,数据格式为长度是2的数组,且每项都为数字Number | Array0
    min最小值Number0
    max最大值Number100
    step步长,取值建议能被(max - min)整除Number1
    disabled是否禁用滑块Booleanfalse
    range是否开启双滑块模式Booleanfalse
    show-input是否显示数字输入框,仅在单滑块模式下有效Booleanfalse
    show-stops是否显示间断点,建议在 step 不密集时使用Booleanfalse
    show-tip提示的显示控制,可选值为 hover(悬停,默认)、always(总是可见)、never(不可见)Stringhover
    tip-formatSlider 会把当前值传给 tip-format,并在 Tooltip 中显示 tip-format 的返回值,若为 null,则隐藏 TooltipFunctionvalue
    input-size数字输入框的尺寸,可选值为largesmalldefault或者不填,仅在开启 show-input 时有效Stringdefault
    active-change 3.4.0同 InputNumber 的 active-changeBooleantrue
    marks 4.0.0标记, key 的类型必须为 number 且取值在闭区间 [min, max] 内,每个标记可以单独设置样式Object-

    Slider events

    事件名说明返回值
    on-change在松开滑动时触发,返回当前的选值,在滑动过程中不会触发value
    on-input滑动条数据变化时触发,返回当前的选值,在滑动过程中实时触发value