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
,它表示表单内的一个组并作为包含表单内容的容器。
一个FormContainer
由FormElements
组成。 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 了解有关表格和未来其他元素的更多信息。
我目前正在使用以下 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
,它表示表单内的一个组并作为包含表单内容的容器。
一个FormContainer
由FormElements
组成。 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 了解有关表格和未来其他元素的更多信息。