2017-07-18 22 views
0

我在SAPUI5中使用了帶有instantUpload = true的UploadCollection控件。
UploadCollection控件具有uploadUrl屬性,但我不想在XML視圖中提供此URL。 我想通過使用Controller.js中的UploadCollection控件的**setUploadUrl(sUploadUrl)**方法來提供此URL。 現在我的問題是我沒有上傳按鈕,因爲我正在使用instantUpload。那麼在這種情況下,我可以寫設置上傳網址如何將SAPUI5控制器的上傳URL設置爲UploadCollection控件?

var oFileUploader = sap.ui.getCore().byId("UploadCollection"); 
      var sUrl = "some URL"; 
      oFileUploader.setUploadUrl(sUrl); 

下面的代碼是在UploadCollectionItem XML視圖以下。

<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> 

如何解決此問題請幫助我。

回答

1

您應該嘗試控制器的初始功能。但是如果你使用的是路由(如果你不是,你應該),附加一個事件模式匹配:

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); 
} 
相關問題