Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

435
Views
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 answers
Answer question

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 Report

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!