我正在使用以下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。感谢您的帮助和时间帮助我。
答案 0 :(得分:1)
您错过了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以获取有关表单和未来其他元素的更多信息。