import {Slider} from '@gravity-ui/uikit';
El control deslizante es un componente de React personalizable y responsivo que permite a los usuarios seleccionar un solo valor o un rango de valores de un conjunto de datos específico.
§Variaciones del control deslizante
§Deslizador único
Se trata de un control deslizante con una manija para seleccionar un solo valor. Se usa de forma predeterminada.
<Slider />
§Control deslizante de rango
Este es un control deslizante con dos asas para seleccionar un rango. Para usarlo, defina defaultValue
(para un control deslizante no controlado) o value
(para uno controlado) para la matriz.
<Slider defaultValue={[20, 40]} />
§Estados
§Discapacitado
Este es un estado en el Slider
que no desea permitir que el usuario trabaje con este componente.
<Slider disabled={true} />
§Error
Este Slider
estado se debe a una entrada de usuario incorrecta. Para cambiar el Slider
aspecto, utilice la validationState
propiedad con el "invalid"
valor. Si lo desea, puede proporcionar un mensaje de error a través de la errorMessage
propiedad. El texto de este mensaje se mostrará debajo del control deslizante.
<Slider validationState={"invalid"} />
<Slider validationState={"invalid"} errorMessage="Error message" />
§Tamaño
Usa la size
propiedad para administrar el Slider
tamaño. El tamaño predeterminado es m
.
<Slider size="s" />
<Slider size="m" />
<Slider size="l" />
<Slider size="xl" />
§Valor
§Valor mínimo y máximo
max
Las propiedades min
y definen los límites del rango que Slider
pueden manejar. Estas propiedades son esenciales para establecer los límites de los valores seleccionables.
<Slider min={10} />
<Slider max={50} />
<Slider min={20} max={60} />
§Paso
La step
propiedad determina los incrementos dentro del rango de valores mínimo y máximo. Esto significa cuánto cambia el valor con un solo movimiento del cursor.
<Slider step={10} />
§Marcas
La marks
propiedad se utiliza en el Slider
componente para especificar marcadores visuales a lo largo del control deslizante que ayudan a indicar varios puntos entre el valor mínimo y el máximo. Esta propiedad mejora la usabilidad y la interfaz visual del control deslizante, especialmente para indicar intervalos específicos. Por defecto es 2 (min
y max
valores). Puedes usarlo de 2 maneras diferentes:
- la cantidad de marcadores visuales a lo largo del control deslizante
<Slider marks={11} />
- la matriz de valores de marcadores a lo largo del control deslizante
<Slider marks={[0, 50, 100]} />
0
o un []
valor de matriz vacío en la marks
propiedad oculta todas las marcas Slider
.
<Slider marks={0} />
El valor de la marca está disponible para su selección, incluso si no coincide con la condición del
step
valor
Puede cambiar el formato de visualización de los valores de las marcas mediante la marksFormat
propiedad.
§Definir los valores disponibles
Puede establecer la step
propiedad null
para definir un conjunto de valores específicos que el control deslizante pueda gestionar, en lugar de un rango continuo. Esto es particularmente útil cuando solo ciertos valores discretos son válidos para la selección. En ese caso min
, propiedades max
y marks
permite especificar una matriz de números que representan los valores exactos que los usuarios pueden seleccionar mediante Slider
.
<Slider marks={[10, 20, 50, 55, 65, 80]} step={null}/>
§Información sobre herramientas
La tooltipDisplay
propiedad se usa en el Slider
componente para controlar el comportamiento de visualización de una información sobre herramientas que muestra el valor actual a medida que el usuario interactúa con el control deslizante. auto
El valor muestra la información sobre herramientas solo cuando el cursor coloca el cursor sobre Slider
el mango o está enfocado.
<Slider tooltipDisplay="on" />
Puede cambiar el formato de visualización del valor de la información sobre herramientas mediante la tooltipFormat
propiedad. Si no lo especifica tooltipformat
, se usará marksFormat
para mostrar el valor en la información sobre herramientas.
§Propiedades
Nombre | Descripción | Tipo | Predeterminado |
---|---|---|---|
apiRef | Refiérase a los accesorios componentes de enfoque y desenfoque de Slider | RefObject<SliderRef> | |
autoFocus | El autofocus atributo del control | boolean | |
className | El nombre de la clase contenedora del control | string | |
defaultValue | El valor predeterminado del control, que se usa cuando el componente no está controlado | number [number, number] | 0 |
discapacitado | Indica que el usuario no puede interactuar con el control | boolean | false |
errorMessage | Texto de un error para mostrar | string | |
marcas | Marcas de texto debajo del control deslizante. Se puede establecer en la cantidad de marcas del control deslizante o se puede establecer en la matriz de valores que deberían tener marcas. 0 o un valor de matriz vacío oculta todas las marcas. | number number[] | 2 |
marksFormat | Formateador para el valor mostrado de la marca | (value: number) => string | |
máximo | El valor máximo del componente. | number | 100 |
min | El valor mínimo del componente. | number | 0 |
onBlur | Se dispara cuando el control pierde el foco. Proporciona un evento de enfoque como argumento de devolución de llamada | (e: focusEvent<HTMLDivElement, Element> () => vacío) | |
onUpdate | Se activa cuando el usuario cambia el valor del control deslizante. Proporciona un evento de cambio como argumento de devolución de llamada | (valor: número| [número, número]) => nulo) | |
onUpdateComplete | Se dispara cuando se activa ontouchend o onmouseup. Proporciona un evento de cambio como argumento de devolución de llamada | (valor: número| [número, número]) => nulo) | |
onFocus | Se dispara cuando el control se enfoca. Proporciona un evento de enfoque como argumento de devolución de llamada | (e: focusEvent<HTMLDivElement, Element> () => vacío) | |
tamaño | El tamaño del control | "s" "xl" | "m" |
paso | Valor que se sumará o restará en cada paso que realice el control deslizante. Se puede configurar null para hacer marks como pasos. | number null | 1 |
tabIndex | El tabIndex atributo del control | number [number, number] | |
tooltipDisplay | El comportamiento de visualización de la información sobre herramientas | off auto | off |
tooltipFormat | Formateador del valor mostrado en la información sobre herramientas. Se usa marksFormat si no está configurado | (value: number) => string | |
validationState | Estado de validación | "invalid" | |
valor | El valor del control | number [number, number] |