收藏
回答

textarea的cursor属性无效

问题模块
API和组件


1.为textarea设置value属性与cursor属性,通过bindinput属性动态修改value值后,光标自动跳到句子末尾,没有按预期的cursor值调整。

2.安卓支持bindinput的返回值。ios不支持


对第一个问题做一个最简单的demo,代码如下。

<!--index.wxml-->
<view style="padding:50rpx 50rpx">

  <textarea style="border:1px solid black;" bindinput="inputValue" cursor="{{cursorValue}}" placeholder="这是一段占位字符"

   value="{{content}}"></textarea>

  <view>
    已输入{{content.length}}个字符
  </view>
</view>

//index.js
//获取应用实例
const app = getApp()
 
Page({
  data: {
    cursorValue: 2,
    content: '这是一个默认内容',
  },
  inputValue: function(e) {
    console.log('input value invoke');
    console.log(e);
    const data = e.detail.value;
 
    // 写入值后第一次设置cursor。
    // 无效
    this.setData({
      cursorValue: 2,
      content: data,
    });
 
    setTimeout(() => {
      // 排除是异步的原因
      this.setData({
        cursorValue: 2,
      });
      console.log('设置了cursorValue');
      // 但是结果依然无效。
    }, 2000);
  },
})

将cursor的值锁定在第二个位置。实际上并没有用。


测试机型:

开发工具上测试有问题。

手机机型信息如下:


最后一次编辑于  2017-11-07
回答关注问题邀请回答
收藏

3 个回答

  • 微信技术专员 - Rex
    微信技术专员 - Rex
    2017-10-27

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码示例。

    2017-10-27
    赞同
    回复
  • 王雪菲
    王雪菲
    2018-05-21

    请问怎么解决,我也遇到了这个问题,而且无法规避,我们的业务需求是语音输入转文字赋值到textarea,如果转的文字不对是支持修改的,然后现在是每点一下光标就会跳到最后

    2018-05-21
    赞同
    回复 2
    • A 大白
      A 大白
      2018-06-24

      最后没有解决,后来用input了。当然,现在已经不开发小程序了。。。

      2018-06-24
      回复
    • 王雪菲
      王雪菲
      2018-06-25

      哈哈哈,看来是彻底弃坑了~

      2018-06-25
      回复
  • A 大白
    A 大白
    2017-11-30

    已更新,@黄思程,能帮忙看下吗?

    2017-11-30
    赞同
    回复