# Feature Request: Expose scrolling events (`onScrollStart` / `onScrollEnd`) or `onScrollingChange` for DateTimePicker
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, react-native
- Área
- mobile
Línea de trabajo
Start by reading the DateTimePicker component and its native iOS, Android, and Windows picker implementations to see where scrolling state can be observed and exposed. The issue proposes either start/end callbacks or a boolean callback but gives no file or test names. Done means host apps can detect when the wheel is scrolling and disable actions until it settles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature request
Summary
When the native wheel picker is scrolling, host UIs (e.g., a BottomSheet with action buttons) cannot detect that the wheel is still moving. This may cause users to press Confirm while the wheel is still decelerating, resulting in an incorrect or unintended selection.
I’m requesting new APIs to expose the picker’s scroll state, such as:
onScrollStart/onScrollEndcallbacks, or- a single
onScrollingChange(isScrolling: boolean)callback.
This would allow the host to temporarily disable buttons during scrolling to provide a smoother and safer UX.
Why it is needed
- Prevent accidental confirmation while the wheel is settling.
- Improve UX in modals and BottomSheets where confirm/cancel actions sit below the picker.
- Current APIs (
onChange) only fire after a value has fully settled — not while scrolling.
Proposed API
Option A — Separate callbacks
<DateTimePicker
value={value}
mode="time"
onChange={handleChange}
onScrollStart={() => setPickerScrolling(true)}
onScrollEnd={() => setPickerScrolling(false)}
/>
Option B — Single boolean callback
<DateTimePicker
value={value}
onScrollingChange={(isScrolling) => setPickerScrolling(isScrolling)}
/>
Code sample
function BottomSheet() {
const [value, setValue] = useState(new Date());
const [scrolling, setScrolling] = useState(false);
return (
<>
<DateTimePicker
mode="time"
value={value}
onChange={(event, newValue) => setValue(newValue)}
onScrollStart={() => setScrolling(true)}
onScrollEnd={() => setScrolling(false)}
/>
<View style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
<Button title="Cancel" disabled={scrolling} />
<Button title="Confirm" disabled={scrolling} />
</View>
</>
);
}
- Lenguaje dominante
- JavaScript
- Estrellas
- 2.9k
- Forks
- 459
- Merge medio
- 4 d 16 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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-native-datetimepicker/datetimepicker
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
react-native-datetimepicker/datetimepicker#1070 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
-
DateTimePickerAndroid.open() throws "Cannot read property" error on RN 0.78.3 new architectureAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
react-native-datetimepicker/datetimepicker#1047 · 6 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
react-native-datetimepicker/datetimepicker#1046 · 1 comentario ·
Todos los issues de react-native-datetimepicker/datetimepicker
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
processing/p5.sound.js#132 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
jellyfin/jellyfin-web#8791 ·
Los mantenedores suelen responder en 1 día
-
bug triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
fjaeckel/seriesoftubes#306 ·
Los mantenedores suelen responder en 1 día
-
ai bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
hugomrdias/playwright-test#753 ·
Los mantenedores suelen responder en 1 día