0

提醒任何自托管也遇到此错误的人....

在版本 5.6.0 银色主题中,对话框 urlinput 启用/禁用适用于输入字段,但不适用于控件的浏览按钮。问题是启用/禁用事件被内部对象的 typeaheadBehaviours 部分拦截,因此它们永远不会到达整个字段的事件处理程序。解决方法是将 onDisabled 和 onEnabled 处理程序添加到 typeaheadBehaviours 的 Disabling.config 并从每个处理程序中删除处理输入字段的代码行。

原始 typeaheadBehaviours Disabling.config....

Disabling.config({
  disabled: function () {
    return spec.disabled || providersBackstage.isDisabled();
  }
})

修改后的代码......

Disabling.config({
  disabled: function () {
    return spec.disabled || providersBackstage.isDisabled();
  },
  onDisabled: function (comp) {
    memUrlPickerButton.getOpt(comp).each(Disabling.disable);
  },
  onEnabled: function (comp) {
    memUrlPickerButton.getOpt(comp).each(Disabling.enable);
  }
})

无法弄清楚如何让这些事件冒泡到整个控制处理程序,但这似乎使事情按预期工作。

4

0 回答 0