我有一个 TextInput 组件,可以在打字时将输入转换为大写字母。我的代码如下:
import React, {Component} from 'react';
import { View, StyleSheet, Text, TextInput, Button } from 'react-native';
export default class ProfileTest extends React.Component {
constructor(props) {
super(props);
this.state = {text : ''};
}
render() {
return (
<View>
<TextInput
style={{fontSize : 60}}
onChangeText={text => {
text = text
.toUpperCase();
this.setState({ text: text });
}}
value={this.state.text}
placeholder="enter text"
/>
</View>
)
}
}
Run Code Online (Sandbox Code Playgroud)
在世博会上,这确实有效。但是,当我在 Android 设备上尝试此操作时,我得到以下行为:

前两个字母工作正常,但每当我添加第三个字母时,它就会突然重复前两个字母,这样 ABC -> ABABC 我不知道为什么它会这样做,而且我似乎无法摆脱它。我已确定“.toUpperCase()”是罪魁祸首。
感谢您的帮助!