textarea组件中间删除字符操作
发布于 5 年前 作者 whe 8167 次浏览 来自 问答

在texarea中做删除操作时,在中间删除一个字符后,光标位置自动跳到内容最后的位置,求解决办法!

10 回复

只赋值不渲染,算是比较完美的做法

只赋值不渲染,算是比较完美的做法”  这种做法不利于草稿功能的实现

恩恩,谢啦

this.data.value = e.detail.value

受教了,那就只能用bindblur了,这样在开发工具上必须失焦才能拿到值。你有没有别的方法呀!

我觉得还是个bug,按卓又不会ios会

这样写是错的,你应该仔细分析,你删除一个字符,会触发一次下面的函数,

syncValue:function(e){

    this.setData({

        value:e.detail.value

    })

}

函数里对input进行赋值(value)并渲染,input每次被渲染后,光标

肯定在后面,光标不在后面那才是bug




这种写法没有错,是React提倡的受控组件写法,我在点击textarea最后面的时候,光标总是位于倒数第二个字符,不知道什么原因。

是不是这样写的?

<input value="{{value}}" bindinput=“syncValue”/>

syncValue:function(e){

    this.setData({

        value:e.detail.value

    })

}

回到顶部