SAPUI5: Creating a form - Error: The candidate for aggregation node is incorrect

SAPUI5: Creating a form - Error: The candidate for aggregation node is incorrect

我目前正在使用以下 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。感谢您的帮助以及您花时间帮助我。

您缺少一个 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 了解有关表格和未来其他元素的更多信息。