收藏
回答

input 光标问题

问题模块
API和组件


根据radio选项拼接input的内容

在箭头处我需要输入一个字符,但是由于我使用bindinput,用来更新data中的数据,导致每次输入字符之后光标会跑到最后去,api提供的e.detail.cursor的执行逻辑会在更新data操作前,所以会被覆盖,请问有什么好的解决办法没?万分感激.

data:{
   inputX: ''
},
bindChange: function (e) {
    var me = this,
      id = e.currentTarget.id,
      val = e.detail.value,
      pos = e.detail.cursor;
    me.setData({
      inputX: val
    })
    return {
      value: val,
      cursor: pos
    }
},
 clearInput: function (e) {
    var me = this,
      id = e.currentTarget.id;
       me.setData({
          inputX: ""
        })
},
radioChange: function (e) {
    var id = e.currentTarget.id,
      me = this,
      val = e.detail.value;
    me.setData({
          inputX: me.data.inputX + val
        })
}


最后一次编辑于  2017-05-18  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

9 个回答

  • 不爱吃西红柿的鱼
    不爱吃西红柿的鱼
    2017-10-13

    可以参考 https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=1017702214&docid=4112f1216c90ca7094e03d107c21bead 我这个帖子下的官方回复的答案去做

    2017-10-13
    赞同
    回复
  • 秋子
    秋子
    2017-10-09

    4楼的小伙伴,请问是怎么个解决思路呢?分开2个变量的话 那怎么能同一数据更改?

    2017-10-09
    赞同
    回复
  • 秋子
    秋子
    2017-10-09

    请问解决了吗?

    2017-10-09
    赞同
    回复
  • r.w.j. 
    r.w.j. 
    2017-09-13

    同遇到类似的问题,现在想要在input文字中间插入表情,
    但是当选择表情后,由于光标自动跑到最后,表情无法加到光标中间,而是加到最后,请问有什么好的解决办法么?


    2017-09-13
    赞同
    回复
  • 不爱吃西红柿的鱼
    不爱吃西红柿的鱼
    2017-08-30

    同遇到这个问题,求官方人员出来看一下。楼主,可以加 "bug" 标签。

    2017-08-30
    赞同
    回复
  • 阿震besos
    阿震besos
    2017-07-13

    我也是用楼上这种方式避开了这个问题,但是这样根本不符合dom的数据绑定,每个input还得准备两个变量来控制

    2017-07-13
    赞同
    回复
  • 易
    2017-07-13

    解决方法是 定义在 value 的变量 和 setData 设置的变量不一样。 这样不干扰。

    要是和 angular 那样可以绑定个 model 多好。这个太麻烦。

    2017-07-13
    赞同
    回复
  • 阿震besos
    阿震besos
    2017-06-29

    遇到了,光标会自动到最后

    2017-06-29
    赞同
    回复
  • 六号💤
    六号💤
    2017-05-18

    没人遇到过类似问题吗?

    2017-05-18
    赞同
    回复