2017-06-09 76 views
-1

我是SAPUI5中的新成員,我想將其他元素添加到按鈕對象中。但它不支持。我怎樣才能添加按鈕內的元素? 這是我的代碼;SAPUI5按鈕內容問題

<Button> 
          <FlexBox 
           width="100%" 
           direction="Row" 
           alignItems="Center" 
           justifyContent="Start"> 
           <items> 
            <f:Avatar 
              src="./resources/images/dashboard/Todo128.png" 
              displaySize="M"> 
            </f:Avatar> 
            <VBox class="gridItemContent"> 
             <Text 
              class="gridItemContentTitle" 
              text="Todo"/> 
              <Button 
               text="Todo Oluştur" 
               icon="sap-icon://add-coursebook" 
               type="Transparent"> 
              </Button> 
            </VBox> 
           </items> 
          </FlexBox> 
        </Button> 

它給出了一個錯誤。我不知道我在哪裏犯了一個錯誤。我想將FlexBox對象添加到Button的內容中。有可能這樣做嗎? 感謝您的建議

+0

你不能這樣做,因爲按鈕沒有任何聚集追加子控件 – santhosh

+0

我應該使用哪些組件來做到這一點?順便提一下,我需要按這個組件的事件。是否有一個通用可點擊的容器元素能夠在其中添加組件。非常感謝。 – MLElyakan

回答

0

UI5控件具有所謂的聚合(子控件的集合;您可以查看Aggregation in SAP UI5瞭解更多詳細信息)。通常,控件的其中一個聚合是「默認」聚合(例如sap.m.Tableitems)。 SDK中使用(default)提及默認標記。

在XML中的觀點,你必須要麼指定聚合的名稱要在其中放置控件也可以忽略這一點,他們將被放置在默認聚合(如看這個sap.m.Table樣本:在itemscolumns聚集明確指定;而Button置於Toolbar的默認聚合中)。

記住這個信息,讓我們來解釋你在XML文件中做什麼。實際上,您嘗試將FlexBox放置在sap.m.Button的默認聚合中。這個類沒有自己的聚合(只有一些繼承聚合,如customData)。因此它沒有任何默認聚合。這就是爲什麼你會得到一個錯誤。基本上,按鈕控件可能沒有任何直接的孩子。

如果你想建立一個「按鈕」使用自定義內容,那麼你可以創建一個custom button control或者你可以使用像一個sap.m.CustomTile

+0

我可以按照如下鏈接(https://i.hizliresim.com/5QoXBl.png)來做按鈕嗎?其實我想要一個可點擊的組件,並且可以在其中添加另一個包裝容器。我應該使用哪個組件而不是按鈕?謝謝你的幫助。 – MLElyakan

+0

該屏幕截圖在我看來,它可能是[sap.m.CustomListItem](https://openui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.CustomListItem/預覽)與type =「Active」(這是可點擊的)。 –

+0

網格的defaultSpan屬性不起作用(defaultSpan =「L4 M6 S12」)CustomListItem的寬度值始終爲全寬 – MLElyakan

0

將類添加到彈出框爲「flex-container」。

onAfterRendering: function(){ 

     $(".flex-container").click(function(){ 
      alert("hi"); 
     }); 

    }