2017-06-09 141 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"); 
     }); 

    }