感謝@Marc,是我的代碼:
manifest.json的:
{
"pattern": "MultiSelect/{objectIds}",
"name": "multi",
"target": [
"master",
"multi"
]
}
Master.controller.js
_showDetail : function (oItem) {
const masterModel = this._oList.getMode();
if(masterModel === "None") {
this.getRouter().navTo("object", {
objectId : oItem.getBindingContext().getProperty("userID")
}, false);
} else { //MultiSelect Mode
const lists = this._oList.getSelectedItems(),
ids = lists.map(item => item.getBindingContext().getProperty("userID"));
this.getRouter().navTo("multi", {
objectIds : JSON.stringify(ids)
}, true);
}
},
多用戶。 controller.js
_onMultiMatched : function (oEvent) {
const sObjectIds = oEvent.getParameter("arguments").objectIds,
idArray = JSON.parse(sObjectIds);
//... Do whatever I like
}
多重選擇的意圖是什麼?根據指南,這個應用程序類型應該用來選擇一個項目在細節中顯示:https://experience.sap.com/fiori-design-web/split-screen/ – matbtt
我想顯示所有的信息在詳細頁面中選擇項目。所以這是不允許的? – Tina
你不應該太在意你的URL的外觀。一個想法:用一個簡單的分隔符連接你的ID(例如「User/001,002,003」)並在你的Detail.controller中分割該字符串 – Marc