SAPUI5按钮内容问题

时间:2017-06-09 10:19:30

标签: sapui5 sapui5-theming

我是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的内容中。有可能吗? 谢谢你的建议

2 个答案:

答案 0 :(得分:0)

UI5控件具有所谓的聚合(子控件集合;您可以查看Aggregation in SAP UI5以获取更多详细信息)。通常,控件的聚合之一是&#34;默认&#34;一个(例如items的{​​{1}}。默认值标记在SDK中,提及sap.m.Table

在XML视图中,您必须指定要放置控件的聚合的名称,或者您可以省略它们,并将它们放在默认聚合中(例如,查看此sap.m.Table示例:{明确指定了表的{1}}和(default)聚合;而items放置在columns的默认聚合中。

记住这些信息,让我们解释你在XML文件中做了什么。您实际上是在将Button置于sap.m.Button的默认聚合中。此类没有自己的任何聚合(只有一些继承的聚合,如Toolbar)。因此它没有任何默认聚合。这就是你得到错误的原因。基本上,按钮控件可能没有任何直接的孩子。

如果您想使用自定义内容构建&#34;按钮&#34; ,那么您可以创建custom button control,也可以使用sap.m.CustomTile之类的内容}。

答案 1 :(得分:0)

将类添加到弹性框作为&#34; flex-container&#34;。

onAfterRendering: function(){

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

    }