收藏
回答

input在失去焦点之后,莫名原因再次获得焦点,导致输入法会再次弹出 的BUG

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug input 客户端 6.6.7 2.2.1

代码:

<view wx:for="{{inputList}}" wx:key="{{item}}">
  <input focus='{{item.isfocus}}' data-index='{{index}}' value='{{item.str}}' bindfocus='focus' bindblur='blur'></input>
</view>
Page({
  data: {
    inputList: [{
      str: '',
      isfocus: false
    }]
  },
  focus: function (e) {
    let index = e.currentTarget.dataset.index
    let inputList = this.data.inputList
    inputList[index].isfocus = true
    this.setData({ inputList: inputList })
  },
  blur: function (e) {
    let index = e.currentTarget.dataset.index
    let inputList = this.data.inputList
    inputList[index].isfocus = false
    this.setData({ inputList: inputList })
  }
})



BUG现象:

真机测试,在获得焦点的情况下,点击受过输入法左上角的收起,会循环触发focus和blur,导致输入法不停的弹出收起,几次后最终收起。

发现问题在于多个input,且使用了focus属性并通过事件去控制属性就会出错


有无解决方法?

这个问题之前提过一次,无答复

最后一次编辑于  2018-09-27
回答关注问题邀请回答
收藏

2 个回答