试图解决我的Angular/Ionic 4应用程序中无法工作的多选ion-select
的问题。我发现这是我使用的BugSnag和ion-select
实现的组合:
ion-alert
(用于显示ion-select
(click
处理程序触发HostElement.forceUpdate
,并且在更新期间click
侦听器被移除并重新添加。@ionic/angular
点击处理程序删除代码片段:
function (elm, eventName, cb, opts) {
elm.removeEventListener(eventName, cb, opts);
}
- Bugsnack拦截
addEventListener
和removeEventListener
方法,并且由于某些原因,removeEventListener
调用(至少对于click
处理程序(没有效果。eventListener处理拦截代码的bug开始(仅供参考,我认为冲突在其他地方,方法很长(:
function __traceOriginalScript(fn, callbackAccessor) {
return function () {
var args = Array.prototype.slice.call(arguments);
var cba = callbackAccessor(args);
var cb = cba.get();
if (typeof cb !== 'function') return fn.apply(this, args);
- 因此,每次单击后,每个按钮都会添加新的重复
click
处理程序,并且复选框单击处理程序无法正常工作(即不可能进行多个更改(
我认为在注册/注销代码的处理程序中存在一些冲突,但不确定如何继续-可能需要在Ionic或Bugstuck中进行一些修复。
刚刚发现将@bugsnag/js
更新到版本6.4.3
解决了这个问题。