ReactNative 当TextInput的style中包含 textAlign:‘right‘时,在IOS中输入空格也能显示的解决方案

当前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, 
           }
        );
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值