测试小姐姐给我提了一个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(0, 300)
}
}
可以用onfocus和onblur函数 分别处理
有焦点的时候不实时更新value
在触发blur之后 再实时更新value