React-Native无法使用非大写字母写入首字母

149

我在使用react-native时遇到了一些问题。 我有一个像文本框一样的输入组件,供用户输入他的电子邮件地址,但问题是第一个字母默认始终大写,并且无法使其不为大写。 我该如何更改它,使得第一个字母也可以小写呢? enter image description here


4
我已经通过“autoCapitalize”解决了它 :) 谢谢大家!祝你们有美好的一天! - Ali Zeynalov
4个回答

364

文本输入框具有 autoCapitalize 属性来处理此问题。

`autoCapitalize enum('none', 'sentences', 'words', 'characters')`
例如,可以尝试像这样:
<TextInput
   placeholder=""
   placeholderTextColor='rgba(28,53,63, 1)'
   autoCapitalize='none'
   value='test'
/>

这对我有用:autoCapitalize='none' - Diego Santa Cruz Mendezú
2
在名称的不同部分之间有句号的情况下,设置“autoCapitalize”是不够的。例如,iPhones 仍然会将 john.doe 更改为 John.doe。像另一个答案中提到的那样,设置 autoCorrect={false} 解决了我的问题。 - Bryson Kruk
我尝试过不做任何事情,但它没有起作用。如果它不起作用,则执行autoCapitalize={false}。 - furkanayilmaz

27

确保属性autoCorrectfalse,这样它就不会将第一个电子邮件字符大写。同时将keyboardType设置为email-address,这样可以显示带有@选项的键盘。以下是我的做法:

          <TextInput
            textContentType='emailAddress'
            keyboardType='email-address'
            autoCapitalize='none'
            autoCorrect={false}
            autoCompleteType='email'
          />

5
如果您在使用“TextInput”时遇到了将所有字母转换为大写的问题,则可以使用“autoCapitalize ='characters'”,如果您只想要第一个字符大写,则使用“autoCapitalize ='words'”。但是,请确保不设置键盘类型属性。

1
只需使用autoCapitalize='none',它会正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接