【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
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
微信版本号:7.0.20
基础库版本号:2.14.0
代码片段:https://developers.weixin.qq.com/s/NBZvxNmi75lM(自行补充appid,使用预览模式,用真机调试)
我看了下代码片段,没发现什么问题啊
然后测试光标在输入框focus/blur切换,看控制台打印输出顺序是怎样的