textarea组件中间删除字符操作

发布于 6 年前作者 whe8307 次浏览最后编辑 6 年前来自 ask

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

10 回复
juanzhao
juanzhao1 楼6 年前

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

fsu
fsu2 楼6 年前

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

chaolong
chaolong3 楼6 年前

恩恩,谢啦

yanluo
yanluo4 楼6 年前

是的呀

yan82
yan825 楼6 年前

this.data.value = e.detail.value

weizhao
weizhao6 楼6 年前

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

xiuyingshen
xiuyingshen7 楼6 年前

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

jing24
jing248 楼6 年前

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

syncValue:function(e){

    this.setData({

        value:e.detail.value

    })

}

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

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




zhumin
zhumin9 楼6 年前

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

juan90
juan9010 楼4 年前

是不是这样写的?

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

syncValue:function(e){

    this.setData({

        value:e.detail.value

    })

}