2020-08-13 15:18:26 +08:00
## Slider
Desliza el slider dentro de un rango fijo.
### Uso básico
El valor actual se muestra cuando se inicia el arrastre del slider.
:::demo Personalice el valor inicial del slider configurando el valor vinculado.
```html
< template >
< div class = "block" >
< span class = "demonstration" > Default value< / span >
< el-slider v-model = "value1" > < / el-slider >
< / div >
< div class = "block" >
< span class = "demonstration" > Customized initial value< / span >
< el-slider v-model = "value2" > < / el-slider >
< / div >
< div class = "block" >
< span class = "demonstration" > Hide Tooltip< / span >
< el-slider v-model = "value3" :show-tooltip = "false" > < / el-slider >
< / div >
< div class = "block" >
< span class = "demonstration" > Format Tooltip< / span >
< el-slider v-model = "value4" :format-tooltip = "formatTooltip" > < / el-slider >
< / div >
< div class = "block" >
< span class = "demonstration" > Disabled< / span >
< el-slider v-model = "value5" disabled > < / el-slider >
< / div >
< / template >
< script >
export default {
data() {
return {
value1: 0,
value2: 50,
value3: 36,
value4: 48,
2021-09-04 19:29:28 +08:00
value5: 42,
2020-08-13 15:18:26 +08:00
}
},
methods: {
formatTooltip(val) {
2021-09-04 19:29:28 +08:00
return val / 100
},
},
2020-08-13 15:18:26 +08:00
}
< / script >
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Valores discretos
Las opciones pueden ser discretas.
:::demo Configure el tamaño del paso con el atributo `step` . Puede visualizar los puntos de ruptura configurando el atributo `show-stops` .
```html
< template >
< div class = "block" >
< span class = "demonstration" > Breakpoints not displayed< / span >
2021-09-04 19:29:28 +08:00
< el-slider v-model = "value1" :step = "10" > < / el-slider >
2020-08-13 15:18:26 +08:00
< / div >
< div class = "block" >
< span class = "demonstration" > Breakpoints displayed< / span >
2021-09-04 19:29:28 +08:00
< el-slider v-model = "value2" :step = "10" show-stops > < / el-slider >
2020-08-13 15:18:26 +08:00
< / div >
< / template >
< script >
export default {
data() {
return {
value1: 0,
2021-09-04 19:29:28 +08:00
value2: 0,
2020-08-13 15:18:26 +08:00
}
2021-09-04 19:29:28 +08:00
},
2020-08-13 15:18:26 +08:00
}
< / script >
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Slider con input
Inserte el valor a través de un input
:::demo Configure el atributo `show-input` para que muestre un input a la derecha.
```html
< template >
< div class = "block" >
2021-09-04 19:29:28 +08:00
< el-slider v-model = "value" show-input > < / el-slider >
2020-08-13 15:18:26 +08:00
< / div >
< / template >
< script >
export default {
data() {
return {
2021-09-04 19:29:28 +08:00
value: 0,
2020-08-13 15:18:26 +08:00
}
2021-09-04 19:29:28 +08:00
},
2020-08-13 15:18:26 +08:00
}
< / script >
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Seleccion de rangos
Se soporta la selección de un rango de valores.
:::demo El ajuste del atributo `range` activa el modo range, donde el valor vinculado es un array compuesto por dos valores límite.
```html
< template >
< div class = "block" >
2021-09-04 19:29:28 +08:00
< el-slider v-model = "value" range show-stops :max = "10" > < / el-slider >
2020-08-13 15:18:26 +08:00
< / div >
< / template >
< script >
export default {
data() {
return {
2021-09-04 19:29:28 +08:00
value: [4, 8],
2020-08-13 15:18:26 +08:00
}
2021-09-04 19:29:28 +08:00
},
2020-08-13 15:18:26 +08:00
}
< / script >
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Modo Vertical
:::demo El ajuste del atributo `vertical` a `true` habilita el modo vertical. En el modo vertical, se requiere el atributo `height` .
```html
< template >
< div class = "block" >
2021-09-04 19:29:28 +08:00
< el-slider v-model = "value" vertical height = "200px" > < / el-slider >
2020-08-13 15:18:26 +08:00
< / div >
< / template >
< script >
export default {
data() {
return {
2021-09-04 19:29:28 +08:00
value: 0,
2020-08-13 15:18:26 +08:00
}
2021-09-04 19:29:28 +08:00
},
2020-08-13 15:18:26 +08:00
}
< / script >
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Mostrar marcas
2021-09-04 19:29:28 +08:00
:::demo Use el atributo `marks` para mostrar marcas en el slider.
2020-08-13 15:18:26 +08:00
```html
< template >
< div class = "block" >
2021-09-04 19:29:28 +08:00
< el-slider v-model = "value" range :marks = "marks" > < / el-slider >
2020-08-13 15:18:26 +08:00
< / div >
< / template >
< script >
export default {
data() {
return {
value: [30, 60],
marks: {
0: '0°C',
8: '8°C',
37: '37°C',
50: {
style: {
2021-09-04 19:29:28 +08:00
color: '#1989FA',
2020-08-13 15:18:26 +08:00
},
2021-09-04 19:29:28 +08:00
label: '50%',
},
},
2020-08-13 15:18:26 +08:00
}
2021-09-04 19:29:28 +08:00
},
2020-08-13 15:18:26 +08:00
}
< / script >
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
## Atributos
2021-09-04 19:29:28 +08:00
| Atributo | Descripción | Tipo | Valores aceptados | Por defecto |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------- | ----------------------------- | ----------- |
| model-value / v-model | valor enlazado | number | — | 0 |
| min | valor mínimo | number | — | 0 |
| max | valor máximo | number | — | 100 |
| disabled | si el Slider esta deshabitado | boolean | — | false |
| step | tamaño del paso | number | — | 1 |
| show-input | Si se muestra el input, trabaja cuando `range` es false | boolean | — | false |
| show-input-controls | si se muestran los botones de control cuando`show-input`es true | boolean | — | true |
| input-size | tamaño del input | string | large / medium / small / mini | small |
| show-stops | si se muestran los puntos de ruptura (breakpoints) | boolean | — | false |
| show-tooltip | si se muestra el valor en un tooltip | boolean | — | true |
| format-tooltip | formato para mostrar el valor del tooltip | function(value) | — | — |
| range | si se usaran un rango | boolean | — | false |
| vertical | modo vertical | boolean | — | false |
| height | alto del Slider, requerido en modo vertical | string | — | — |
| label | etiqueta para screen reader | string | — | — |
| debounce | retardo al escribir, en milisegundos, funciona cuando`show-input` es true. | number | — | 300 |
| tooltip-class | nombre personalizado de clase para el tooltip | string | — | — |
| marks | marcas, tipo de clave debe ser `number` y debe estar en intervalo cerrado [min, max], cada marca puede tener estilo personalizado | object | — | — |
2020-08-13 15:18:26 +08:00
2021-09-04 19:29:28 +08:00
## Eventos
2020-10-26 10:56:14 +08:00
2021-09-04 19:29:28 +08:00
| Nombre | Descripción | Parametros |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| change | se dispara cuando el valor cambia (si el ratón está comenzando el arrastre este evento sólo se disparara cuando se suelte el ratón) | valor despues del cambio |
| input | triggers when the data changes (It'll be emitted in real time during sliding) | value after changing |