SAPUI5:创建表单 - 错误:聚合节点的候选者不正确

时间:2018-03-13 14:55:50

标签: xml sapui5 sap-fiori

我正在使用以下book学习SAPUI5。在本书中有一个代码清单,其中应该创建XML中的简单表单。我从列表中复制了源代码,但它无法正常工作。所以这是本书视图的原始列表:

<mvc:View controllerName="Formular.controller.View1" 
      xmlns:html="http://www.w3.org/1999/xhtml" 
      xmlns:mvc="sap.ui.core.mvc" displayBlock="true" 
      xmlns="sap.m" 
      xmlns:FormularNamensraum="sap.ui.layout.form">
<App>
    <pages>
        <Page title="{i18n>title}">
            <content>
                <FormularNamensraum:FormElement label="Nachname" visible="true">
                    <FormularNamensraum:fields>
                        <Input/>
                    </FormularNamensraum:fields>
                </FormularNamensraum:FormElement>
            </content>
        </Page>
    </pages>
 </App>
</mvc:View>

在SAP WebIDE中,显示了第10行中的以下警告:警告:语义错误:SAPUI5:聚合节点sap.m.Page的候选者不正确。请输入sap.ui.core.Control类型的候选人

那么到现在为止我做了什么来解决这个问题呢?如果在创建表单时出现类似情况并且出现此警告,我会查找,但没有结果。我查看了SAP论坛和文档以查找错误,例如旧的图书馆或图书馆的变化,没有结果。

所以如果有人能向我解释这里的错误是什么,我会感激不尽,因为这个例子似乎适用于以前版本的SAPUI5。感谢您的帮助和时间帮助我。

1 个答案:

答案 0 :(得分:1)

您错过了FormContainer,它代表了表单中的一个组,并作为包含表单内容的容器。

FormContainerFormElements组成。 FormContainer的呈现由分配给表单的FormLayout完成。

最后,FormElements代表FormContainer内的行。

遵循正确的结构,您的代码应如下所示:

<mvc:View controllerName="Formular.controller.View1" 
          xmlns:html="http://www.w3.org/1999/xhtml" 
          xmlns:mvc="sap.ui.core.mvc" 
          displayBlock="true" 
          xmlns="sap.m" 
          xmlns:FormularNamensraum="sap.ui.layout.form">
    <App>
        <pages>
            <Page title="{i18n>title}">
                <content>
                    <FormularNamensraum:Form editable="true" id="oForm">
                        <FormularNamensraum:formContainers>
                            <FormularNamensraum:FormContainer title="Title" id="oContainer">
                                <FormularNamensraum:formElements>
                                    <FormularNamensraum:FormElement label="Nachname" visible="true">
                                        <FormularNamensraum:fields>
                                            <Input width="100%" id="oInput" />
                                        </FormularNamensraum:fields>
                                    </FormularNamensraum:FormElement>
                                </FormularNamensraum:formElements>
                            </FormularNamensraum:FormContainer>
                        </FormularNamensraum:formContainers>
                        <FormularNamensraum:layout>
                            <FormularNamensraum:ResponsiveGridLayout id="oLayout" />
                        </FormularNamensraum:layout>
                    </FormularNamensraum:Form>
                </content>
            </Page>
        </pages>
    </App>
</mvc:View>

检查API Reference以获取有关表单和未来其他元素的更多信息。