私は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>
ボタンリストをコントロールに追加しますか?
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:{}
});
});
@Allenに感謝!しかし、どこでMessageStripRendererを定義する必要がありますか?私は同じファイルにコードをコピーする必要がありますか? (MessageStrip.js) – Eli
同じフォルダ。別のMessageStripRenderer.jsはOKであるはずです。これは私がやったことです。 – Allen
まあ、私は新しいファイルにMessageStripRendererを追加しましたが、ボタンは表示されませんでした。また、 "MessageStripRenderer.js"に "debugger"タグを追加して停止しているかどうかを確認しました。コードはMessageStripRendererによって影響を受けていません。ここで問題になると思われるものはありますか? – Eli