Using `toUpperCase` or `textTransform: 'uppercase'` breaks on an Android controlled TextInput
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C++
- Estrellas
- 127k
- Forks
- 25.3k
- Merge medio
- 1 d 23 h
- PR fusionados (30 d)
- 4
Descripción
React Native version: 0.61.4 and lower
Trying to force capitalization of characters inside a TextInput is broken on Android.
autoCapitalize="characters"doesn't seem to do anything- Using
toUpperCasein the onChangeText hook causes duplication of letters - Using
textTransform: 'uppercase'in styles block causes the same duplication of letters - Using
textTransform: 'uppercase'in a non-controlled TextInput does nothing
Steps To Reproduce
- Create a controlled TextInput and either use onTextChanged to modify the text to uppercase or use text transform in the styles block
- Type multiple lowercase characters into the text box
Describe what you expected to happen:
Characters should be capitalized
What actually happens:
Characters are capitalized and duplicated
Snack, code example, screenshot, or link to a repository:
https://snack.expo.io/@nmi09/rn-android-capitalize-input-bug

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.
Línea de trabajo
Comienza con la reproducción de Snack enlazada y el punto de entrada controlado de Android TextInput, probando autoCapitalize, las transformaciones de onChangeText y textTransform: 'uppercase'. Confirma que la entrada en minúsculas se capitaliza sin duplicar caracteres y comprueba también el comportamiento no controlado reportado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, react-native
- Área
- mobile
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100