0
我從oModel獲取數據,並{MSGDATA}對象Sapui5:如何將按鈕列表添加到自定義控件?
var Buttons = [{text:"apple"},{text:"banana"}];
var sQuery = "some text...";
oModel.oData.msgData.push({
Type : "Information",
buttons:Buttons,
customIcon:"media/chat/b_small.png",
Text: sQuery
});
oModel.refresh();
(xml文件中,你可以看到下面的代碼) XML:
<wt:MessageStrip
text="{msgData>Text}"
type="{msgData>Type}"
>
// ***** NEED TO ADD THESE LINES ****
<List items="{msgData>buttons}" class="fixFlexFixedSize BtnBox">
<Button press="BtnClick" text="{msgData>text}" class="sapUiTinyMarginEnd"/>
</List>
</wt:MessageStrip>
如何添加按鈕列表到控件? (按鈕列表是{} MSGDATA對象)
MessageStrip.js
sap.ui.define(["sap/m/MessageStrip"],
function (MessageStrip) {
"use strict";
return MessageStrip.extend("com.sap.it.cs.itsdpphome.controller
.fragments.MessageStrip", {
metadata: {
properties: {
},
aggregations: {
},
events: {
}
},
init: function() {
},
renderer:{}
});
});
謝謝@艾倫!!!但我應該在哪裏定義MessageStripRenderer?我應該將代碼複製到同一個文件嗎? (MessageStrip.js) – Eli
相同的文件夾。另一個MessageStripRenderer.js應該可以。這就是我所做的。 – Allen
好吧,我添加了MessageStripRenderer到一個新的文件,但沒有顯示按鈕,另外,我在「MessageStripRenderer.js」中添加了一個「調試器」標籤,看看它是否停在那裏,它不:(因此它似乎代碼不受MessageStripRenderer影響你認爲這裏可能是什麼問題? – Eli