Using `toUpperCase` or `textTransform: 'uppercase'` breaks on an Android controlled TextInput
未关闭
还没有人认领这个 Issue。
Bug
Component: TextInput
Never gets stale
Platform: Android
- 主要语言
- C++
- 星标
- 127k
- 派生
- 25.3k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 4
描述
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

贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从链接的 Snack 复现和受控的 Android TextInput 入口开始,测试 autoCapitalize、onChangeText 转换以及 textTransform: 'uppercase'。确认小写输入会被转换为大写且不会产生重复字符,同时检查报告的非受控行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- android, react-native
- 领域
- mobile
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100