收藏
回答

Do not have xxx handler in component

框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
小程序 Bug 微信iOS客户端 6.6.6 1.6.6


如代码片段,项目中有启动页 index,自定义组件 Component ,其它 other 三个组成部分

  • index.js 通过 const other = require('../other/other.js'); 然后在 onLoad 中 other.call(this) 来实现了 other.js 中的 otherTap 和 changeOtherTextarea 方法

  • 一旦 index.json 引入了 usingComponents 自定义组件后项目报警告 Do not have changeOtherTextarea handler in component,Textarea 组件的 bindinput 方法 changeOtherTextarea 找不到,但 View 组件的 otherTap 正常

尝试修改

  • 在 Component 的 methods 中加上 changeOtherTextarea 不能解决

  • 在 Component 中直接加上 changeOtherTextarea 也无法解决

  • 在 index.js 中实现下 changeOtherTextarea 方法并传递参数即可解决

  • 在 index.js 中空实现 changeOtherTextarea 也能解决

请问用上自定义组件 Component后是对 call 兼容不好吗?感觉大部分事件都能继承进去,唯独 Textarea 组件的 bindinput 方法不实现


代码片段都贴出来了,官方不打算回复下么

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

8 个回答

  • ꯭M ꯭R ꯭. ꯭Z ꯭
    ꯭M ꯭R ꯭. ꯭Z ꯭
    2018-05-17

    我也遇到同样的问题,急!

    2018-05-17
    有用 5
    回复
  • 2018-05-17

    刚发现 input 组件的 bindinput 也失效,貌似 bindinput 回调都有类似的问题

    2018-05-17
    有用 5
    回复
  • egg🍳
    egg🍳
    2018-05-17

    我也遇到同样的问题,急!

    2018-05-17
    有用 3
    回复
  • 李特丽 我的自行车,我的自由
    李特丽 我的自行车,我的自由
    2018-05-18

    我也遇到同样的问题,急!

    2018-05-18
    有用 2
    回复
  • 傲慢
    傲慢
    2021-04-24

    我出现这个问题是在自定义组件里的textarea里面通过model:value双向绑定一个page({})里data对象中的一个变量,然后在textarea里面进行任何操作都爆了这个提示。估计是这里的双向绑定是通过监听input事件来完成而page里面没有这个事件处理函数,所以我给textarea加个bindinput事件同时在page里面定义,就解决这个问题了

    2021-04-24
    有用 1
    回复 1
    • 诠心
      诠心
      2021-11-17
      我的问题就是你说的这样,厉害呀!!
      2021-11-17
      回复
  • 人啊
    人啊
    2021-04-12

    同样的情况,,,

    2021-04-12
    有用 1
    回复
  • 马特:啊对对对
    马特:啊对对对
    2021-04-17

    答案:

    很简单,在 input 上先绑定需要取值的变量,如这个变量名是 name,然后再定义一个用于指向变量名的属性 data-modal 这个属性值设置为 name,在 input 的绑定方法中将这个属性值取出,就会知道这个 input 绑定了哪个变量,然后再将 input 的当前值赋给这个变量即可。

    <input id='name'
      name="name"
      type='text'
      value='{{name}}' <!-- input 从 js 中的 data.name 取值 -->
      data-modal='name' <!-- 这里通过 data-xx 的形式传递一个需要绑定的变量名,之后可以通过 event.dataset.xxx 轻松取到 -->
      bindinput='handleInputChange' <!-- 这里绑定 input 内容变化时的处理方法 -->
      >
    </input>
    
    https://www.jb51.net/article/172156.htm
    
    
    
    


    2021-04-17
    有用
    回复
  • 韦忠行-生信软件开发-寿之泉生物
    韦忠行-生信软件开发-寿之泉生物
    2020-09-10

    到底腾讯还管不管这个问题了,我也遇到了,没找到任何可行的解决办法。

    2020-09-10
    有用
    回复 1
登录 后发表内容