我正在尝试使用React-Native secureTextEntry
隐藏我的密码并在注册期间确认密码字段。我使用textInput的自定义输入框组件。BELOW是我的代码,
<InputBox
error={this.state.PwordError}
keyboardType={'default'}
onChangeText={Pword =>
this.setState({
Pword
})
}
secureTextEntry={true}
value={this.state.Pword}
pHolder={"Password"}
color={'white'} />
<View style={styles.spacer} />
<InputBox
error={this.state.CPwordError}
keyboardType={'default'}
onChangeText={CPword =>
this.setState({
CPword
})
}
secureTextEntry={true}
value={this.state.CPword}
pHolder={"Confirm Password"}
color={'white'} />
输入密码时,第一个文本框可以很好地显示为点,但是确认密码字段不起作用。有人知道为什么会发生这种情况吗?
这是上述代码
引用的输入框 <TextInput
underlineColorAndroid="transparent"
placeholder={this.props.pHolder}
placeholderTextColor={this.props.color === 'white' ? 'black':"white" }
{...this.props}
style={this.props.color == 'white' ? styles.ReginputStyle : styles.inputStyle}
/>
我正在使用
"react": "16.5.0",
"react-native": "0.57.1",
我能够通过从输入组件中删除keyboardType={'default'}
代码来解决此问题。即使解决了问题,我也想知道为什么第一个secureTextEntry
盒有效而另一个盒子不起作用,因为除了值外,两个框都相同。任何人都可以给出为什么会发生这种情况的理由,
谢谢。
multiline = {true}或keyboardType = {'可见password'}防止securetextentry工作。
做keyboardType="default"
,它将起作用。它对我有用。
这项工作给我:
secureTextEntry works if you set autoCapitalize={'none'}.
https://github.com/facebook/react-native/issues/30148#issuecomment-748288773
我不知道为什么它在您的代码中发生,我尝试了您的代码,它在我的Android模拟器中工作正常。而不是这样,我在更新类型的阴影节点"颜色"时遇到了问题:androidTextInput。因为要花一些时间来评估您的
为此,除此之外,我已经删除了这条线。
import React, { Component } from "react";
import { View, Text, TouchableOpacity, TextInput } from "react-native";
export default class App extends Component {
constructor(props) {
super(props);
this.state = { CPwordError: "", CPword: "", PwordError: "", Pword: "" };
}
render() {
return (
<View>
<InputBox
error={this.state.PwordError}
keyboardType={"default"}
onChangeText={Pword =>
this.setState({
Pword
})
}
secureTextEntry={true}
value={this.state.Pword}
pHolder={"Password"}
// color={"white"}
/>
<InputBox
error={this.state.CPwordError}
keyboardType={"default"}
onChangeText={CPword =>
this.setState({
CPword
})
}
secureTextEntry={true}
value={this.state.CPword}
pHolder={"Confirm Password"}
// color={"white"}
/>
</View>
);
}
}
class InputBox extends Component {
constructor(props) {
super(props);
}
render() {
return (
<View>
<TextInput
underlineColorAndroid="transparent"
placeholder={this.props.pHolder}
placeholderTextColor={"black"}
{...this.props}
style={this.props.color == "white"}
/>
</View>
);
}
}
keyboardType="default" Working Fine.
secureTextEntry={hidePassword}
<TextInput
style={[styles.textInput]}
placeholder=""
secureTextEntry={hidePassword}
selectionColor={'#000'}
editable={true}
returnKeyType={'next'}
keyboardType="default"
autoFocus={false}
autoCapitalize={'characters'}
placeholderTextColor="rgb(153,153,153)"
onChangeText={(text) => this.onCurrentPassTextChange(text)}
>{currentPassword}</TextInput>
您可以在再次运行后停止连接应用程序。问题可用于处理测试道具