本文介绍了TooltipBaseRenderer.js:404-未找到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用MouseOver事件处理功能扩展了Sap.ui.core.TooltipBase,该事件处理附加到ChartContainer:
中的一些Sap.ui.core.Icon sap.ui.define(function () {
"use strict";
return sap.ui.core.TooltipBase.extend("dvd.rl.component.ChartContainer.parts.TooltipBase.TooltipBase", {
metadata: {
events: {
"onmouseover" : {}
}
},
oView: null,
setView : function(view){
this.oView = view;
},
// the hover event handler, it is called when the Button is hovered - no event registration required
onmouseover : function() {},
});
EveryThink工作正常,但当我单击ChartContainer中的图标时,从TooltipBaseRenderer.js收到此错误(此错误发生在处理新闻事件之前。):
在TooltipBaseRenderer.js中,该行为:
我不知道那里发生了什么事。如果你愿意的话,我很乐意听。
我是这样将TooltipBase添加到sap.ui.core.Icon:
的// Add custom Icon for filter
var oFilterIcon = new sap.ui.core.Icon("filterButton", {
tooltip : "{i18n>filter}",
src : "sap-icon://filter",
press : [this.onHandleLocalFilterOpen,this]
});
// Add Icon to chart component
oChartContainer.addCustomIcon(oFilterIcon);
var oTooltipBase = new TooltipBase();
// set new TooltipBase to Icon
oFilterIcon.setTooltip(oTooltipBase);
编辑的12:15 100117:
当我在TooltipBase.Extension中使用渲染器时:
//just inherit the renderer as it is
renderer: {},
我收到此错误:
所以我删除了渲染器,当我将鼠标悬停在图标上时,TooltipBase就可以工作了。问题是当我按照前面描述的那样单击图标时。
推荐答案
这里是一个正常工作的sample custom tooltip extended from sap/ui/core/TooltipBase
。
render
方法。否则,UI5将在父级中查找它。此外,TooltipBase
已经处理了鼠标事件。不需要在您的分机中处理它们。事情是这样的:
- 您的呈现器没有
render
函数(renderer: { }
)。 - UI5在父渲染器(
sap/ui/core/TooltipBaseRenderer
)中查找render
。 - 没有
TooltipBaseRenderer.js
,因为TooltipBase
是抽象控件。抽象控件没有渲染器(其定义中的renderer: null // not undefined
)。
TooltipBase
缺少renderer: null
。因此,UI5假设一定有一个名为TooltipBaseRenderer.js
的文件导致了404错误。As of UI5 1.82, the TooltipBase
has renderer: null
,因此该问题不再可重现。 这篇关于TooltipBaseRenderer.js:404-未找到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!