在我的代码中,我有2个textInputs,一个有一行,另一个有多行,输入是阿拉伯语,所以我必须启用textAlign:' right', 我的问题是当我将多行设置为true时,占位符文本仍保留在文本输入的左侧, 任何想法如何解决这个问题? 我的代码如下:
查看:
<View style={{ position: 'relative' }}>
<TextInput
style={forms.textInput}
value={this.state.telephone}
placeholder={'رقم هاتفك'}
placeholderTextColor={'rgba(0,0,0,0.6)'}
onChangeText={(val) => this.setState({telephone: val}) } />
<Icon name="android-phone-portrait" size={27} color="rgba(0,0,0,0.6)" style={{ position: 'absolute', top: 10, right: 24 }}/>
</View>
<View style={{ position: 'relative' }}>
<TextInput
style={[forms.textInput,{height: 120}]}
multiline={true}
value={this.state.desc}
numberOfLines={4}
placeholder={'اقتراحك'}
placeholderTextColor={'rgba(0,0,0,0.6)'}
onChangeText={(val) => this.setState({desc: val}) }/>
<Icon name="ios-help-outline" size={27} color="rgba(0,0,0,0.6)" style={{ position: 'absolute', top: 10, right: 24 }}/>
</View>
风格:
textInput: {
height: 40,
borderColor: 'rgba(0, 0, 0, 0.4)',
borderWidth: 2,
margin: 15,
marginTop: 5,
backgroundColor: '#fff',
color: 'rgba(0, 0, 0, 0.9)',
paddingRight: 40,
textAlign :'right'
},
______________________ ******* ________________________
______________________ ******* ________________________
答案 0 :(得分:2)
我实际上已经为此提出了一个拉取请求,该请求已被接受,并且将在反应原生的0.29.0
版本中发布。
我的解决方法是添加此行
_placeholderView.textAlignment = _textView.textAlignment;
到react-native/Libraries/Text/RCTTextView.m
在updatePlaceholder
函数内([self insertSubview:_placeholderView belowSubview:_textView];
之前)