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