TimePicker panel will keep scrolling after select a time.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Comienza en useScrollTo.ts e inspecciona la condición de terminación de la distancia de desplazamiento descrita en el issue. Reproduce el comportamiento de TimePicker en un navegador antiguo como Chrome 89 y verifica después que seleccionar una hora detiene el desplazamiento cuando la distancia deja de cambiar, y que el desplazamiento con la rueda del ratón se activa normalmente a continuación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
i found the code below in useScrollTo.ts seemed to be buggy. After selecting a time from the time panel, the panel ul will scroll to the target li position. But when the target li is reaching top, the scrolling is not stopped, causing the scroll event could not be triggered on mouse-wheel scrolling.
// Break if dist get larger, which means user is scrolling
if (scrollDistRef.current !== null && scrollDistRef.current < dist) {
stopScroll();
return;
}
scrollDistRef.current = dist;
When the scenario above happens, the scrollDistRef.current is always equal to dist. So the stopScroll will be never called.
As I observed, the issue only happened on older browser like Chrome 89 in my case and did not occur on latest Chrome. In the latest Chrome, the scroll event can be fired even if the scrolling is not stopped.
I tried to changed the termimal condition as below, the scrolling is stopped and can be scrolled manually again:
if (scrollDistRef.current !== null && (scrollDistRef.current < dist || Math.abs(scrollDistRef.current - dist) < Number.EPSILON)) {
stopScroll();
return;
}
That is, to stop scrolling when scrollDistRef and dist is equal (dist does not change anymore).
Not sure if anyone got the same issue.
The antd version is 5.15.1
- Lenguaje dominante
- TypeScript
- Estrellas
- 304
- Forks
- 347
- Merge medio
- 19 h 37 min
- PR fusionados (30 d)
- 6
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de react-component/picker
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
react-component/picker#956 · 1 comentario · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
react-component/picker#955 · 1 comentario · 1 reacción ·
-
[Bug / DX]: Deep imports for generateConfig are incompatible with pnpm and break module resolutionAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 58/100
react-component/picker#949 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
react-component/picker#946 ·
-
需要RangePicker组件中增加aria属性Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
react-component/picker#939 ·
Todos los issues de react-component/picker
Issues similares
-
Show the error reference on the error pagePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
tomjn/coilbox-hub#454 ·
Los mantenedores suelen responder en 1 día
-
Scheduler button hover stateAbiertofrontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
icssc/peterportal-client#1224 · 1 comentario ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
api: spanner
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
googleapis/google-cloud-node#9513 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
Los mantenedores suelen responder en 1 día