RN——TextInput 文本框删除最后一个字符,光标移动到组件末尾

本文介绍了一个React Native中TextInput组件在设置文本居中时出现的光标位置异常问题及解决方案。通过设置multiline属性为true,可以解决光标跳动的问题。

问题表现

  • 初始未输入字符时,输入框光标正常居中
  • 输入字符后,输入框光标正常位于文字之后
  • 删除字符同时还有剩余文字,输入框光标正常位于文字之后
  • 删除最后一个文字后,输入框光标跳动到组件末尾

复现步骤

  • 使用 react-native 的 TextInput 组件
  • 设置输入框的文本居中 style: { textAlign: 'center'}

问题解决

  • TextInput 组件设置为多行文本
  • 添加属性 multiline={true}
<TextInput
    placeholder={'请输入20位邀请码'}
    placeholderTextColor={xxx}
    fontSize={xxx}
    onChangeText={this._onChangeText}
    maxLength={20}
    value={this.state.inviteCode}
    underlineColorAndroid={'transparent'}
    disableFullscreenUI={true}
    multiline={true} // 忽略其他属性就好,只有这行能解决本文所述问题
/>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值