如何在 SAPUI5 的网络图的控制按钮上附加事件?

How to attach events on control buttons of SAPUI5's Network Graphs?

我正在根据这个官方代码示例创建一个网络图 https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.commons.networkgraph.Graph/sample/sap.suite.ui.commons.sample.NetworkGraphDimensions

我想默认禁用搜索字段(使其不可见),只有在切换到全屏模式后才启用它。

默认情况下禁用搜索字段很容易:

var oNetworkGraph = this.getView().byId("myGraphId");

if (oNetworkGraph.isFullScreen() === false) {       
    oNetworkGraph._searchField.setVisible(false);
}

问题是我们的搜索字段和其他按钮(缩放 in/out、切换图例按钮等)未在 XML 视图内定义,也不在控制器内定义。我猜它是 sap.suite.ui.commons.networkgraphsap.suite.ui.commons.networkgraph.layout 的一部分并被插入到 init.

由于这个问题,我无法在全屏切换按钮上添加监听器。

您可以将自己附加到您的搜索字段修改中。

我检查了代码,按钮在 class 变量 _oFullScreenButton 下可用。这意味着 oNetworkGraph._oFullScreenButton.attachPress(function() {}); 您可以 运行 在按下按钮时编码。

请注意,在未来的版本中访问这些私有 API 可能会中断。