收藏
回答

华为p30的input放在组件内,bindInput事件不触发,触发page的bindinput方法

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug input 微信安卓客户端 7.0.18 2.12.2

这是一个悲伤的故事,发生在华为p30,微信版7.0.18,基础库版本2.12.2,自定义组件内有原生input组件<input class="weui-input" bindinput="bindInput" placeholder="输入点什么"/>,bindinput绑定事件bindInput在组件内的methods写了没有反应,触发了Page内的bindInput。。。。。

因为页面重构,我想着好好重构代码,然后就兴高彩烈的一个一个组件写起来,好的一切很顺利(鬼知道我踩了多少坑),终于来到正式号体验版了,想着马上能发布了,美滋滋的。突然测试反馈input输入框明明有输入内容,但一点确定就啥都没有了,啥?????

好了,废话不多说了,进入主题,以上问题经测试是在华为p30使用华为自带输入法,组件内input输入框输入英文字母时,并没有选择提示内容,然后就失去焦点,这种情况下,输入框内显示有内容,,但是并没有触发组件内的bindInput事件,提示Do not have bindInput handler in current page: index/index. Please make sure that bindInput handler has been defined in index/index, or index/index has been added into app.json,可是代码明明有写。于是我在page里面加上bindInput方法,结果触发了page的方法

组件内的事件在page里面触发。。。。。。

代码片段如下https://developers.weixin.qq.com/s/keIGHnmq7hkS,仅在华为p30出现,

遇上这种Bug简直欲哭无泪,恳求小程序的开发大佬可怜可怜我们这些小开发,赶紧修复了吧。

回答关注问题邀请回答
收藏

2 个回答

  • 小淼焱
    小淼焱
    03-02

    华为Nova5 pro配上自带的百度输入法华为版,也会出现bindinput不触发的情况

    03-02
    有用
    回复
  • 渎
    2020-09-15

    看了半天,你的问题应该是用华为英文输入法输入后失焦时,没有触发bindInput方法来保存数据。你可以再绑一个bindblur就可以解决了,那个警告可以无视掉

    https://developers.weixin.qq.com/s/8JOv3nmU7ZkY

    2020-09-15
    有用
    回复 2
    • 絮舞飞扬
      絮舞飞扬
      2020-09-15
      你说的是一个解决方法,但是这里面最重要的是组件内事件却在pages触发这就很有问题了
      2020-09-15
      回复
    • 渎
      2020-09-15回复絮舞飞扬
      先解决眼前这个问题吧,方法名本来也不应该重复的。实在纠结的话可以重新发个帖抓重点问,你这写一大堆,官方估计都不会看的
      2020-09-15
      回复
登录 后发表内容
问题标签