【发布时间】:2019-02-20 21:52:54
【问题描述】:
由于 React Native 中一个有据可查的问题,TextInput 的 autoCapitalize 在 Android 上无法正常工作。我试图通过手动大写 onChangeText() 回调中的文本来解决这个问题:
onchgtext(newval)
{
this.s8 = newval.toUpperCase();
this.forceUpdate();
}
render()
{
...
<TextInput value={ this.s8 }
onChangeText={ (newval) => { this.onchgtext(newval) } }
...
/>
...
}
不幸的是,修改文本会导致 TextInput 无法正常工作:alternate 击键会导致整个先前的文本被复制,但前提是击键是小写的。
所以,输入1234 会导致1234 出现;输入ABCD 导致ABCD 出现;但输入abcd 会导致AABCAABCD。
任何想法为什么会发生这种情况,以及如何解决它?请注意,使用 onChange 而不是 onChangeText 会导致相同的行为。
【问题讨论】:
-
解决了这个问题吗?实际上,我面临同样的问题,在我的案例编号、大写字母、小写字母中,任何内容都没有更新 TextInput。
-
Umair,您的问题似乎有所不同。就我而言,回调被调用得很好,但是当我修改回调中的文本时,事情变得很糟糕。
标签: react-native