在 w2ui 中,我可以将 json 映射到侧边栏http://w2ui.com/web/demos/#!sidebar/sidebar-1 我可以在 openui5 中执行此操作吗?
我想要同样的结果。
显然,我不想要一个树,而是一个项目列表,如果我点击一个项目(并可视化一个子菜单列表)并向右滑动,如果我按下后退按钮(并在上层可视化菜单)则向左滑动。
在 w2ui 中,我可以将 json 映射到侧边栏http://w2ui.com/web/demos/#!sidebar/sidebar-1 我可以在 openui5 中执行此操作吗?
我想要同样的结果。
显然,我不想要一个树,而是一个项目列表,如果我点击一个项目(并可视化一个子菜单列表)并向右滑动,如果我按下后退按钮(并在上层可视化菜单)则向左滑动。
我解决了我的问题:每次单击菜单项时,我都会将此函数调用到视图控制器中:
//when click on item
onPressMenuItem: function(evt) {
var selectedItem=evt.getSource().getBindingContext().getObject();
var objAction=getActionWhenPressMenuItem(selectedItem, this.getView().getModel());
console.log(objAction);
if(objAction.hasNextSidebar==true){ // sub menu
var model = new sap.ui.model.json.JSONModel();
model.setData(objAction.nextSidebar);
var oSplitApp=sap.ui.core.Core().byId("splitApp");
var nextView = sap.ui.xmlview("general.master.menuMaster");
nextView.setModel(model);
nextView.byId("idPageSidebar").setTitle(selectedItem.text);
oSplitApp.addMasterPage(nextView);
oSplitApp.toMaster(nextView);
}else{ // open operation detail
var idDetail =objAction.opDetail;
var targetApp = getAppBySelectionId(idDetail);
if(targetApp.masterView!=null){//if app has own master
sap.ui.getCore().getEventBus().publish("navMaster", "to", {
idView: targetApp.masterView
});
}
if(targetApp.detailView!=null){//if app has own detail
sap.ui.getCore().getEventBus().publish("navDetail", "to", {
//titleOfDetailPage: selectedItem.text,
idView: targetApp.detailView,
//idCall: selectedItem
});
}
}
},
我每次在新页面上创建一个新的菜单。
我认为这是可能的,但据我所知,你必须做一些体力劳动:
sap.m.ListType
为Navigation
"/items"
) 有子节点 (fi, "childs"
),您需要将列表重新绑定到此子路径("/items/<index_of_parent_node>/childs)
sap.m.Page
但是,如果有更清洁、更简单的方法,我也很想听听!