我无法使autoCapitalize正常工作

时间:2018-10-05 09:07:56

标签: javascript reactjs

我有一个像下面这样的自定义组件

<Input
  value={value}
  style={styles.input}
  secureTextEntry={passwordInput && !this.state.showPassword}
  onChangeText={onChangeText}
  autoCapitalize={disableAutoCapitalize ? 'none' : 'words'}
  autoCorrect={!disableAutoCorrect}
  editable={!notEditable}
/>

但是当我尝试将autoCapitalize设置为单词却不起作用时,为什么呢?

<InputField
  disableAutoCapitalize={false}
  disableAutoCorrect
/>

3 个答案:

答案 0 :(得分:2)

我假设将

disableAutoCapitalize传递为道具。 您应该使用this.props.disableAutoCapitalize

<Input
  value={value}
  style={styles.input}
  secureTextEntry={passwordInput && !this.state.showPassword}
  onChangeText={onChangeText}
  autoCapitalize={this.props.disableAutoCapitalize ? 'none' : 'words'}
  autoCorrect={!disableAutoCorrect}
  editable={!notEditable}
/>

答案 1 :(得分:1)

它可以在iOS上运行,但不能在Android(Galaxy S9)上运行,它看起来像是一个本机错误。

答案 2 :(得分:0)

它是一个响应本机错误,已在0.61.5之后修复。 简而言之,如果可能,请删除keyboardType,然后autoCapitaliz将为您服务

请参阅以下问题以了解背景知识: https://github.com/facebook/react-native/issues/27510 https://github.com/facebook/react-native/issues/8932