我试图扩展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:{}
});
});
我还创建了一个从模型中检索数据的xml文件:
<List items="{msgData>/msgData}" >
<CustomListItem>
<wt:MessageStrip
text="{msgData>Text}"
type="{msgData>Type}"
showIcon="true"
showCloseButton="false"
customIcon="{msgData>customIcon}"
class="sapUiMediumMarginBottom">
<Link text="{msgData>linkText}"
target="{msgData>linkTarget}"
href="{msgData>linkUrl}" />
</wt:MessageStrip>
</CustomListItem>
</List>
我可以在xml中获得所有模型参数,除了&#34; text&#34; PARAM!
如果我删除text="{msgData>Text}"
,则会显示除文本之外的所有正确的参数。
但是当我添加text="{msgData>Text}"
时,控制台会显示一个
错误:
未捕获的TypeError:无法读取属性&#39; setText&#39;为null
为什么会这样?
答案 0 :(得分:2)
您必须在自己的init
中致电基座的sap.m.MessageStrip
:init
。
init: function () {
MessageStrip.prototype.init.call(this);
},
它应该可以解决你的问题。