小程序
小游戏
企业微信
微信支付
扫描小程序码分享
textarea
1.ios机上输入一段文本,在文本中间输入文字后,光标却到最后了,安卓机上是ok的;
2.官方提出的bindinput(e),e.detail.cursor不是value的length,在文本中间输入文字后,cursor就不对了
10 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请问这个问题修复了吗 2024了 ^ - ^
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你好,后续我们会修复这个问题,目前有2种方法可以处理这个问题
在bindinput事件回调里面返回cursor和value
bindInputHandler: function (e) {
this.setData({
originText: e.detail.value
})
return {
cursor: e.detail.cursor,
value: e.detail.value
}
2. 在bindinput事件回调把input的value存为另外一个变量供后续使用
是bindinput 事件 setDate渲染页面造成的,解决方法:只把值保存下来,不用setData
同样的问题,因为 setData 会重置整个输入框,还得监听 cursor 位置,再去 set cursor
但是 input / textarea 的 cursor 属性失效了,请尽快解决。
其实更重要的是,重新 setData 时,输入框的 cursor 能不能不自动跳转呢?
安卓下是没问题的,就 iOS 有问题。
不能每个input、textarea都这样监听cursor啊
其实textarea不加bindtap方法,不修改默认value的originText值,光标就不会有那个问题,只要修改了originText的值,ios上光标就是会到最后,而且cursor也会失效
关于问题2,暂时处理方式是,设计改了文案,改成“限制100字符” cusor其实可以用value.length来处理
我也遇到同样问题
我也遇到了
写了一个demo,真机必现的问题
js文件:
Page({
data: {
originText: '测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测'
},
inputWishMsg: function(e) {
wxml文件
<view class="container">
<textarea value="{{originText}}" style="height: 8em" bindinput="inputWishMsg"></textarea>
</view>
wxss文件
textarea {
width: 700rpx;
padding: 25rpx 0;
就是textarea组件,基础用法
前提:bindinput监听方法中改变value的值,输入一些内容后,需要在内容中插入一些字
问题:
1.光标选入内容中,输入一些文字后,在ios上光标又定位到内容最后了
2. bindinput内的e.detail.cursor不是value的length
麻烦提供一下出现问题的机型和微信版本,并且给个相关的代码片段(https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/minicode.html)或者appid,我们定位下问题
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请问这个问题修复了吗 2024了 ^ - ^
你好,后续我们会修复这个问题,目前有2种方法可以处理这个问题
在bindinput事件回调里面返回cursor和value
bindInputHandler: function (e) {
this.setData({
originText: e.detail.value
})
return {
cursor: e.detail.cursor,
value: e.detail.value
}
}
2. 在bindinput事件回调把input的value存为另外一个变量供后续使用
是bindinput 事件 setDate渲染页面造成的,解决方法:只把值保存下来,不用setData
同样的问题,因为 setData 会重置整个输入框,还得监听 cursor 位置,再去 set cursor
但是 input / textarea 的 cursor 属性失效了,请尽快解决。
其实更重要的是,重新 setData 时,输入框的 cursor 能不能不自动跳转呢?
安卓下是没问题的,就 iOS 有问题。
不能每个input、textarea都这样监听cursor啊
其实textarea不加bindtap方法,不修改默认value的originText值,光标就不会有那个问题,只要修改了originText的值,ios上光标就是会到最后,而且cursor也会失效
关于问题2,暂时处理方式是,设计改了文案,改成“限制100字符” cusor其实可以用value.length来处理
我也遇到同样问题
我也遇到了
写了一个demo,真机必现的问题
js文件:
Page({
data: {
originText: '测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测测试测试测'
},
inputWishMsg: function(e) {
this.setData({
originText: e.detail.value
})
}
})
wxml文件
<view class="container">
<textarea value="{{originText}}" style="height: 8em" bindinput="inputWishMsg"></textarea>
</view>
wxss文件
textarea {
width: 700rpx;
padding: 25rpx 0;
}
就是textarea组件,基础用法
前提:bindinput监听方法中改变value的值,输入一些内容后,需要在内容中插入一些字
问题:
1.光标选入内容中,输入一些文字后,在ios上光标又定位到内容最后了
2. bindinput内的e.detail.cursor不是value的length
麻烦提供一下出现问题的机型和微信版本,并且给个相关的代码片段(https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/minicode.html)或者appid,我们定位下问题