场景1:多个input标签切换无法聚焦问题
解决方案1:
在网上搜的用官方给的always-embed属性,但是也明确标注了只有ios可用
解决方案2:
使用focus属性:每次点击input标签都重新设置
wxml:
<input adjust-position="{{ false }}" id="agentName" focus="{{focusId=='agentName'?true:false}}" bindtap="inputTap" placeholder="请输入代理名称" />
ts:
inputTap(e:AnyObject) {
var that = this
wx.hideKeyboard()
this.setData({ isHidden: true })
setTimeout(function () {
that.setData({
focusId: e.currentTarget.id
})
}, 200)
},
场景2:input标签在scroll-view标签里边,聚焦键盘弹起后,滑动页面,当前聚焦的input标签会跟着滑动
解决方案:曲线救国,聚焦或点击的时候禁止页面滚动,失焦的时候放开
<scroll-view scroll-y="{{ isScroll }}" class="content">
<input id="agentName" focus="{{focusId=='agentName'?true:false}}" bindtap="inputTap" bindblur="closeblur" placeholder="请输入代理名称" />
</scroll-view>
inputTap(e:AnyObject) {
this.setData({ isScroll: false })
},
closeblur() {
this.setData({ isScroll: true })
},
场景3:input标签聚焦会覆盖其它的元素
解决方案:同样是曲线救国,聚焦的时候设置上层的元素隐藏,(如果是弹框的话,弹框弹起的时候设置input隐藏)