Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

429
Vistas
Evite que el control deslizante de rango se restablezca si el usuario borra la entrada

Tengo un control deslizante de rango con cuadros de entrada. Hasta ahora, lo tengo funcionando principalmente, pero necesito que los controles deslizantes del pulgar no se restablezcan en el medio si el usuario borra la entrada de los cuadros. Si un usuario borra la entrada, quiero que el control deslizante permanezca en su posición actual.

Los controles deslizantes se restablecen en el medio si el usuario borra e ingresa

Restablecimiento del control deslizante

Valor máximo de restablecimiento del control deslizante

Aquí está el CodeSandbox

over 4 years ago · Santiago Trujillo
4 Respuestas
Responde la pregunta

0

Puede controlar los valores de input y slide por separado, eso será mucho más conveniente y se ajustará al control de state de React .

Ejemplo de fragmento de código

 const [min, setMin] = useState({ input: 0, slide: 0 }); const [max, setMax] = useState({ input: 100, slide: 100 }); const handleMaxChange = (e) => { const v = parseInt(e.target.value, 10); if (v) { if (v < min.input && !!min.input) { setMax({ input: min.input + 1, slide: min.slide + 1 }); } else if (v > extremeMax) { setMax({ input: extremeMax, slide: extremeMax }); } else { setMax({ input: v, slide: v }); } } else { setMax((prev) => ({ ...prev, input: "" })); } };

Ejemplo de código completo

Editar selección de TextFieldStart

over 4 years ago · Santiago Trujillo Denunciar

0

no me queda claro lo que realmente quieres hacer. Porque digamos que el valor mínimo es 40, y el usuario borra el cuadro de texto con retrocesos: la primera vez, es 4, la segunda vez que presiona el retroceso, estará vacío. ¿Quieres que el control deslizante permanezca en 40 o 4?

en cualquier caso, puede mantener el valor del estado anterior de min/max y si el nuevo valor del cuadro de texto está vacío, no actualice el estado del control deslizante.

over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente puede configurar el control deslizante de esta manera:

 <MultiRangeSlider minVal={min ? min : 0} maxVal={max ? max : 0} ... />

Demostración en CodeSandbox .

over 4 years ago · Santiago Trujillo Denunciar

0

Esta es una solución un poco avanzada, pero puede usar la eliminación de rebotes de lodash (o codificar su propia función de rebote, pero use paquetes en su lugar)

Lo que puede hacer es tener un rebote en la entrada del usuario para los controles deslizantes En el 'onChange' para su componente de entrada, rebote actualizando el valor del control deslizante en su estado, y verifique que si la entrada es nula / indefinida / vacía, entonces no actualices el estado :)

Estoy tomando un descanso en el trabajo, pero si necesitas que proporcione el código exacto, puedo hacerlo ^-^

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda