【问题标题】:Get DOM Reference of a SAPUI5 View/Control获取 SAPUI5 视图/控件的 DOM 参考
【发布时间】:2016-08-10 11:13:42
【问题描述】:

我想显示谷歌地图的信息窗口。但是数据或视图是如下的ui5视图,

var oView = sap.ui.view({
  type : sap.ui.core.mvc.ViewType.XML,
  viewName :"com.example.view.ListView"                
});

而且这种观点是完美的。

主要是我有谷歌信息窗口,我需要把它放在那个信息窗口中,如下所示,

var infowindow = new google.maps.InfoWindow({
  content: view, //Here I am getting below error
  position: coordinate
 });
infowindow.open(map);

所以我得到了

InvalidValueError:setContent:不是字符串;和元素-

我知道我可以在谷歌信息窗口的内容中放置一个 domNode 或字符串。所以我需要知道如何将这个 ui5 视图转换为 domNode 或任何其他解决方案。

【问题讨论】:

    标签: google-maps-api-3 infowindow sapui5


    【解决方案1】:

    可以通过getDomRef方法获取SAPUI5 View或Control的DOM Node

    var infowindow = new google.maps.InfoWindow({
      content: view.getDomRef(),
      position : coordinate
    });
    infowindow.open(map);
    

    请注意,SAPUI5 视图/控件仅在首次渲染后才具有 DOM 引用。此外,在潜在的重新渲染之后,您可能必须重新应用上述代码。

    BR克里斯

    【讨论】:

    • 谢谢,但我想在屏幕上某个地方渲染之前得到它。
    • 好吧,您不能在渲染之前将它附加到 sapui5 控件。为什么它必须在渲染之前存在?您可以将它附加到之前在纯 html 中存在的 dom 节点,并绝对定位:/ 听起来不像是要走的路。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    相关资源
    最近更新 更多