收藏
回答

子组件使用input组件,如果父组件存在和子组件相同的监听input的函数名,在输入法focus/b

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

【BUG】:子组件使用input组件,如果父组件存在和子组件相同的监听input的函数名,在输入框光标focus/blur切换时,input组件会跳过子组件的监听函数直接触发父组件的监听函数。

注意:在真机上调试!!!

1、父组件监听函数

// js
Page({
  onKeywordChange() {
    console.log('Parent onKeywordChange')
  }
})
// wxml




2、子组件

// js
Component({
  methods: {
    onKeywordChange: function() {
      console.log('Child onKeywordChange')
      this.triggerEvent('keyword-change', {})
    }
  }
})
// wxml



3、运行结果

在输入框输入字母:a

控制台会依次输出:

Child onKeywordChange
Parent onKeywordChange


在输入框继续操作,光标focus/blur操作,控制台只会输出,跳过了子组件的监听函数。

Parent onKeywordChange
最后一次编辑于  11-12
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    11-12

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    11-12
    有用
    回复 2
  • 站住、举手
    站住、举手
    11-12

    我看了下代码片段,没发现什么问题啊

    11-12
    有用
    回复 1
    • San
      San
      11-12
      代码片段无法预览,你用真机调试,写个简单的页面。


      然后测试光标在输入框focus/blur切换,看控制台打印输出顺序是怎样的
      11-12
      回复
登录 后发表内容
问题标签