评论

ios上,textarea设置了maxlength为300后,在中间输入,光标转到最后的解决方法

ios上的textarea,设置了maxLength后,在中间输入,光标转到最后问题

测试小姐姐给我提了一个bug,输入的反馈内容较多时,在内容中间输入文字超出300字时,光标会自动跳转到文字最后。

第一反应就是去除textarea绑定的value值,避免每次input时都setData,但是根本没效果,这个方法只对input有效。继续查找社区,找到还有一种解决方法:在input的回调函数里返回cursor和value,试了也无效。

突然想到,将maxlength改为-1,无限输入,再回调返回value时,进行截取,完美解决问题代码如下:


inputArea(e) {
    return {
      cursor: e.detail.cursor,
      value: e.detail.value.slice(0300)
    }
  }

最后一次编辑于  2020-11-05  
点赞 0
收藏
评论

1 个评论

  • 张有釜
    张有釜
    2020-06-24

    可以用onfocus和onblur函数 分别处理

    有焦点的时候不实时更新value

    在触发blur之后 再实时更新value

    2020-06-24
    赞同
    回复 3
    • 澄c澄悦
      澄c澄悦
      2020-06-24
      textarea不实时更新value也有问题
      2020-06-24
      回复
    • 张有釜
      张有釜
      2020-06-24回复澄c澄悦
      光标不变了 不影响输入了啊
      2020-06-24
      回复
    • 澄c澄悦
      澄c澄悦
      2020-06-24回复张有釜
      textArea里,达到了maxlength后,你把光标移到文本中间继续输入,光标会跑到最后
      2020-06-24
      回复
登录 后发表内容