你如何设置TextInput的样式in native native for password input

bwb*_*ing 67 react-native

我有一个TextInput,当用户输入文本而不是显示输入的实际文本时,我想要包含...的东西.什么是最好的方法呢?

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

Ril*_*ken 212

当被问到这个问题时,没有办法在本地进行,但是根据这个拉取请求,这将在下次同步时添加.这是关于拉取请求的最后一条评论 - "内部登陆,将在下次同步时出局"

添加后,您将能够执行此类操作

<TextInput secureTextEntry={true} style={styles.default} value="abc" />
Run Code Online (Sandbox Code Playgroud)

裁判

  • 我今天正在研究它,这就是我发现拉取请求的方式。他们说他们只有 2 个 100% React Native 的应用程序。F8 应用程序会打开一个要求授权的新窗口。Facebook Ads 具有我们正在寻找的功能,但我几乎认为他们为它包装了 Objective-C。另一种方法是存储字符串,每次输入更新时都会用 ... 东西替换最后一个字符:)。 (2认同)

med*_*uru 21

2018年5月 反应原生版本0.55.2

secureTextEntry = {true}有效

password = {true}不起作用


小智 20

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

secureTextEntry={true}
Run Code Online (Sandbox Code Playgroud)


小智 12

您需要将 secureTextEntry 属性设置为 true,为了获得更好的用户体验,您可以使用眼睛图标来显示实际密码

 import {TextInput, Card} from 'react-native-paper';
 const [hidePass, setHidePass] = useState(true);

 const [password, setPassword] = useState('');


<TextInput
            
            label="Password"
            outlineColor="black"
            activeOutlineColor="#326A81"
            autoCapitalize="none"
            returnKeyType="next"
            mode="outlined"
            secureTextEntry={hidePass ? true : false}
            selectionColor="#326A81"
            blurOnSubmit={false}
            onChangeText={password => updateState({password})}
            right={
              <TextInput.Icon
                name="eye"
                onPress={() => setHidePass(!hidePass)}
              />
            }
          />
Run Code Online (Sandbox Code Playgroud)


Nic*_*ign 6

我必须添加:

secureTextEntry={true}
Run Code Online (Sandbox Code Playgroud)

随着

password={true}
Run Code Online (Sandbox Code Playgroud)

截至0.55

  • 您不需要密码={true} (2认同)

Roh*_*n K 5

secureTextEntry={true}
Run Code Online (Sandbox Code Playgroud)

要不就

secureTextEntry 
Run Code Online (Sandbox Code Playgroud)

属性在您的TextInput中。

工作示例:

<TextInput style={styles.input}
           placeholder="Password"
           placeholderTextColor="#9a73ef"
           returnKeyType='go'
           secureTextEntry
           autoCorrect={false}
/>
Run Code Online (Sandbox Code Playgroud)

  • 关闭自动更正功能的奖励。 (4认同)

Tor*_*tad 5

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' />
Run Code Online (Sandbox Code Playgroud)


小智 5

一点加分:

version = RN 0.57.7

secureTextEntry={true}
Run Code Online (Sandbox Code Playgroud)

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