当前IOS上的表现:
input设置text-align: right;时,输入文字中间加空格不显示
预期表现:
输入文字时有空格能够实时显示出来
复现路径:
写一个input 设置text-align: right; 在真机上运行,输入字符和空格,空格不能显示,除非空格后有字符,空格才能显示出来。
解决方案:
通过转化输入字符中的空格为 \u{00a0} 达到显示效果的空格,传到后台也是空格字符,如果在ajax传输中间经历了字符编码转换的话。
PS.如果需要对包含这个字符的变量进行处理(判断逻辑,进行数据交互等),建议把变量的所有 \u{00a0}转回去为空格,赋值给个新的变量,使用新变量进行处理。
代码如下:
//TextInput组件
<TextInput
......//textInput其他props
onChangeText={(value) => { this._changeInput(value) }} />
//绑定的修改变量的方法
_changeInput(value){
let newValue = '';
newValue = value.replace(' ','\u{00a0}');
this.setState({
input:newValue,
}
);
}