Sapui5 UI5:将树添加到IconTabFilter内容
我有一个图标选项卡过滤器,当用户选择它时,我想显示一个树 这里提供了如何处理用户选择图标的逻辑 我遇到的问题是,将创建树节点的JS不工作。这样做的逻辑如下:-Sapui5 UI5:将树添加到IconTabFilter内容,sapui5,Sapui5,我有一个图标选项卡过滤器,当用户选择它时,我想显示一个树 这里提供了如何处理用户选择图标的逻辑 我遇到的问题是,将创建树节点的JS不工作。这样做的逻辑如下:- var oModel = new sap.ui.model.json.JSONModel({ "idocs1" : [ { "Docnum" : "00063463",
var oModel = new sap.ui.model.json.JSONModel({
"idocs1" : [ {
"Docnum" : "00063463",
"Mestyp" : "MATMAS",
"Status" : "53",
"Sndprn" : "EXTSYS1",
"Direct" : "Inbound",
"Message" : "Material 00002342 Created",
"messages" : [ {
"message" : "Material 00002342 Created"
} ],
"segments" : [ {
"segment" : "E1MARAM",
"fields" : [ {
"fieldName" : "MATNR"
} ]
} ]
} ]
});
sap.ui.getCore().setModel(oModel);
var tgtPath = "/idocs1/0/segments";
var oTree = new sap.ui.commons.Tree("tree");
oTree.bindAggregation("nodes", tgtPath, function(
sId, oContext) {
var treePath = oContext.getPath();
var bindTextName = '';
if (treePath.indexOf("fields") !== -1) {
bindTextName = "fieldName";
} else {
bindTextName = "segment";
}
alert("here = " + oContext + " ---- "
+ bindTextName);
return new sap.ui.commons.TreeNode()
.bindProperty("text", bindTextName);
});
var myButton = new sap.ui.commons.Button("btn");
myButton.setText("Hello World!");
myButton
.placeAt("idViewRoot--idViewDetail--toolBar-content");
oTree
.placeAt("idViewRoot--idViewDetail--toolBar-content");
此逻辑位于方法中,当用户选择特定的IconTab时会调用该方法
我有一个按钮,以确保当树逻辑被注释掉时,它会向IconTab内容添加一些内容
我注意到,如果我尝试创建两个相同ID的按钮,那么上面的代码即方法会被调用两次
如果启用树逻辑,则该方法将被调用两次,因此,对于重复的树节点,将出现错误
非常感谢您的帮助
谢谢
Martin您有什么理由希望以后添加内容吗?您还可以为每个IconTab添加特定内容,当用户单击该图标时,会显示该图标。 这也会解决你的问题
如果这对您的情况不方便,我认为您应该在单击IconTab后,在IconTabBar或IconTabFilter上设置内容,而不是自己将其放入内容中。现在已将其修复。问题是,如果在工厂函数bindAggregation中放置警报,则该警报似乎与dup树ID有关。