是否可以在 react-native 的 TextInput 中将 textalign 设置为左侧,但将 placeholder 设置为右侧
我这样使用某事,但不起作用:
<TextInput style={this.state.userName!='' ? styles.defaultText : [styles.defaultText,{textAlign:'left'}]} placeholder='...' autoCapitalize='none'
onChangeText={(txt) => this.setState({txtUserName : txt}) }
value={this.state.txtUserName}></TextInput>
答案 0 :(得分:0)
下面的代码给出了您想要的。我认为,如果您查看状态管理,您的问题将得到解决,或者您可以使用这种状态; </ p>
const placeHolder = "...";
class Second extends React.Component {
constructor(props) {
super(props);
this.state = {txtUserName: placeHolder}
}
render() {
return
<TextInput
style={this.state.txtUserName === placeHolder ? {color:"#000000", textAlign:"right"}:{color:"#a10c93", textAlign:"left"}}
placeholder={placeHolder}
autoCapitalize='none'
onChangeText={(txt) => this.setState({txtUserName: txt})}
value={this.state.txtUserName}>
</TextInput>
}
}
答案 1 :(得分:0)
只需检查txtUserName是否为空。如果为空,则设置占位符文本样式,否则设置输入文本样式。
请检查以下代码。
<TextInput style={this.state.txtUserName!=='' ?
[styles.defaultText,{textAlign:'right'}] :
[styles.defaultText,{textAlign:'left'}]}
placeholder='...'
autoCapitalize='none'
onChangeText={(txt) => this.setState({txtUserName : txt}) }
value={this.state.txtUserName}>
</TextInput>