大佬们好:
我在小程序中通过
<input id="nickname-input" type="nickname" placeholder="请输入用户昵称" bind:blur="inputFinished" model:value="{{nickname}}" bindinput="inputFinished" style="width:542rpx;height:77rpx;"/>
获取用户昵称,在大部分机型上都可以正常工作,但是在华为nova9pro(系统HM3.0, 微信版本8.0.42)上一直都不能触发上面的 inputFinished 函数(bindblur和bindinput两个都不能)
为了解决这个问题,我还特地增加 id,然后通过
const query = wx.createSelectorQuery();
query
.select("#nickname-input")
.fields({
properties: ["value"],
})
.exec((res) => {
this.setData({
nickname: res[0].value,
});
});
log.dbg("read nickname:", this.data.nickname);
主动去读输入的昵称,然而还是读不到。。。
请问大佬们,这是什么原因啊,我实在想不通还有什么可以尝试去解决这个问题的方法了。。。
信息更新:
点击输入框后,如果点击键盘上面的“用微信昵称”就可以正常触发inputFinished函数,如果通过键盘输入就不行。
有些奇葩手机根本不触发bindinput,bindblur函数,连通过id去读都读不回来,只能通过 bindconfirm="handleConfirm"; 获取到input的值。。。
详情请参考代码片段:https://developers.weixin.qq.com/s/CjOKfimI7VZY