如何在React Native中设置TextInput的样式以输入密码


102

我有一个TextInput。我不希望显示输入的实际文本,而是希望用户输入文本时显示星号(****)。我怎样才能做到这一点?

<TextInput
  style={{ height: 40, borderColor: 'gray', borderWidth: 1 }}
  onChangeText={(text) => this.setState({input: text})}
/>

Answers:


317

当被问到这时,没有一种方法可以在本地进行,但是将根据请求将其添加到下一个同步中。这是对拉取请求的最后一条评论-“内部已着陆,将在下一次同步时退出”

添加后,您将可以执行以下操作

<TextInput secureTextEntry={true} style={styles.default} value="abc" />

裁判


谢谢,所以在合并之前,还有哪些其他选择?我猜facebook对自己的应用程序登录做了类似的事情。
bwbrowning 2015年

1
我今天正在研究它,这就是我找到该拉取请求的方式。他们说他们只有2个应用程序是100%React Native。F8应用程序将打开一个新窗口,要求授权。Facebook Ads具有我们正在寻找的功能,但我几乎认为他们为此封装了Objective-C。另一种方法是存储字符串,并且每次输入更新用...东西替换最后一个字符时:)。
莱利·布雷肯

@bwbrowning,应该尽快合并;在您部署之前很久,我会下注。
Brigand

我喜欢它,因为它有文字,所以我可以从中复制粘贴。XD
Jovylle Bermudez

25

2018年5月 react-native版本0.55.2

secureTextEntry = {true}有效

密码= {true}不起作用


11

只需将下面的行添加到 <TextInput>

secureTextEntry={true}


6

secureTextEntry={true}

要不就

secureTextEntry 

属性在您的TextInput中。

工作示例:

<TextInput style={styles.input}
           placeholder="Password"
           placeholderTextColor="#9a73ef"
           returnKeyType='go'
           secureTextEntry
           autoCorrect={false}
/>

4

TextInput必须包含secureTextEntry = {true},请注意,React的文档中不得同时使用multiline = {true},因为不支持该组合。

您还可以设置textContentType = {'password'},以允许该字段从存储在手机上的钥匙串中检索凭证,这是输入凭证的另一种方式,如果您在手机上获得了生物特征输入即可快速插入凭证。例如iPhone X上的FaceId或其他iPhone机型和Android上的指纹触摸输入。

 <TextInput value={this.state.password} textContentType={'password'} multiline={false} secureTextEntry={true} onChangeText={(text) => { this._savePassword(text); this.setState({ password: text }); }} style={styles.input} placeholder='Github password' />

3

一点加:

version = RN 0.57.7

secureTextEntry={true}

keyboardTypewas"phone-pad"或时不起作用"email-address"



0

我正在使用0.56RC secureTextEntry = {true}和password = {true},然后仅使用@NicholasByDesign提到的方法

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.