我正在SAPUI5中使用带有instantUpload = true的UploadCollection控件
具有uploadUrl属性的UploadCollection控件,但我不想在XML视图中提供此URL。
我想通过Controller.js中的**setUploadUrl(sUploadUrl)**
方法使用UploadCollection控件来提供此URL。
现在我的问题是我没有上传按钮,因为我正在使用instantUpload
。那么在哪种情况下我可以编写以下内容来设置上传URL
var oFileUploader = sap.ui.getCore().byId("UploadCollection");
var sUrl = "some URL";
oFileUploader.setUploadUrl(sUrl);
以下代码适用于xml视图中的UploadCollectionItem。
<UploadCollectionItem
documentId="{documentId}"
fileName="{fileName}"
mimeType="{mimeType}"
thumbnailUrl="{thumbnailUrl}"
url="{url}"
enableEdit="false"
enableDelete="false"
visibleDelete="false"
visibleEdit="false"
attributes="{path : 'attributes', templateShareable : 'true'}"
statuses="{path : 'statuses', templateShareable : 'true'}"
selected="{selected}">
<attributes>
<ObjectAttribute
title="{title}"
text="{parts : ['text', 'type'], formatter : '.formatAttribute'}"
active="{active}"/>
</attributes>
<statuses>
<ObjectStatus
title="{title}"
text="{text}"
state="{state}"
icon="{icon}"
iconDensityAware="{iconDensityAware}"
textDirection="{textDirection}"/>
</statuses>
</UploadCollectionItem>
</items>
</UploadCollection>
如何解决此问题请帮助我。
答案 0 :(得分:1)
您应该尝试控制器的onInit功能。但是如果您使用路由(如果不是,则应该),请将事件附加到模式匹配:
onInit: function() {
this.getRouter().getRoute(/*your route name*/).attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function(oEvent) {
var oFileUploader = sap.ui.getCore().byId("UploadCollection");
var sUrl = "some URL";
oFileUploader.setUploadUrl(sUrl);
}