vue3.0 ElementPlus 中文版入门教程 ElementPlus Slider 滑块

2024-02-25 开发教程 vue3.0 ElementPlus 中文版入门教程 匿名 2

通过拖动滑块在一个固定区间内进行选择

基础用法

在拖动滑块时,显示当前值

通过设置绑定值自定义滑块的初始值

<template>
<div class="block">
<span class="demonstration">默认</span>
<el-slider v-model="value1"></el-slider>
</div>
<div class="block">
<span class="demonstration">自定义初始值</span>
<el-slider v-model="value2"></el-slider>
</div>
<div class="block">
<span class="demonstration">隐藏 Tooltip</span>
<el-slider v-model="value3" :show-tooltip="false"></el-slider>
</div>
<div class="block">
<span class="demonstration">格式化 Tooltip</span>
<el-slider v-model="value4" :format-tooltip="formatTooltip"></el-slider>
</div>
<div class="block">
<span class="demonstration">禁用</span>
<el-slider v-model="value5" disabled></el-slider>
</div>
</template>
<script>
export default {
data() {
return {
value1: 0,
value2: 50,
value3: 36,
value4: 48,
value5: 42,
}
},
methods: {
formatTooltip(val) {
return val / 100
},
},
}
</script>

离散值

选项可以是离散的

改变step的值可以改变步长,通过设置show-stops属性可以显示间断点

<template>
<div class="block">
<span class="demonstration">不显示间断点</span>
<el-slider v-model="value1" :step="10"> </el-slider>
</div>
<div class="block">
<span class="demonstration">显示间断点</span>
<el-slider v-model="value2" :step="10" show-stops> </el-slider>
</div>
</template>
<script>
export default {
data() {
return {
value1: 0,
value2: 0,
}
},
}
</script>

带有输入框

通过输入框设置精确数值

设置show-input属性会在右侧显示一个输入框

<template>
<div class="block">
<el-slider v-model="value" show-input> </el-slider>
</div>
</template>
<script>
export default {
data() {
return {
value: 0,
}
},
}
</script>

范围选择

支持选择某一数值范围

设置range即可开启范围选择,此时绑定值是一个数组,其元素分别为最小边界值和最大边界值

<template>
<div class="block">
<el-slider v-model="value" range show-stops :max="10"> </el-slider>
</div>
</template>
<script>
export default {
data() {
return {
value: [4, 8],
}
},
}
</script>

竖向模式

设置vertical可使 Slider 变成竖向模式,此时必须设置高度height属性

<template>
<div class="block">
<el-slider v-model="value" vertical height="200px"> </el-slider>
</div>
</template>
<script>
export default {
data() {
return {
value: 0,
}
},
}
</script>

展示标记

设置 marks 属性可以展示标记

<template>
<div class="block">
<el-slider v-model="value" range :marks="marks"> </el-slider>
</div>
</template>
<script>
export default {
data() {
return {
value: [30, 60],
marks: {
0: '0°C',
8: '8°C',
37: '37°C',
50: {
style: {
color: '#1989FA',
},
label: '50%',
},
},
}
},
}
</script>

Attributes

参数说明类型可选值默认值
model-value / v-model绑定值number0
min最小值number0
max最大值number100
disabled是否禁用booleanfalse
step步长number1
show-input是否显示输入框,仅在非范围选择时有效booleanfalse
show-input-controls在显示输入框的情况下,是否显示输入框的控制按钮booleantrue
input-size输入框的尺寸stringlarge / medium / small / minismall
show-stops是否显示间断点booleanfalse
show-tooltip是否显示 tooltipbooleantrue
format-tooltip格式化 tooltip messagefunction(value)
range是否为范围选择booleanfalse
vertical是否竖向模式booleanfalse
heightSlider 高度,竖向模式时必填string
label屏幕阅读器标签string
debounce输入时的去抖延迟,毫秒,仅在show-input等于 true 时有效number300
tooltip-classtooltip 的自定义类名string
marks标记, key 的类型必须为 number 且取值在闭区间 [min, max]内,每个标记可以单独设置样式object

Events

事件名称说明回调参数
change值改变时触发(使用鼠标拖曳时,只在松开鼠标后触发)改变后的值
input数据改变时触发(使用鼠标拖曳时,活动过程实时触发)改变后的值