2017-04-19 1 views
0

SAPUI5의 SimpleForm에 단편을 추가하는 데 문제가 있습니다. 나는 SimpleForm을 가지고 있으며 조각에 내용을 추가하려고합니다. 결과는 다음과 같아야합니다 what i want doneSAPUI5 - SimpleForm에 단편 추가

내 조각 :

<core:FragmentDefinition 
 
\t xmlns="sap.m" 
 
\t xmlns:core="sap.ui.core" 
 
\t xmlns:mvc="sap.ui.core.mvc" 
 
\t xmlns:html="http://www.w3.org/1999/xhtml" 
 
\t xmlns:l="sap.ui.layout" 
 
\t xmlns:f="sap.ui.layout.form" 
 
\t xmlns:tnt="sap.tnt" 
 
\t xmlns:custom="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"> 
 

 
\t \t <core:Title text="{i18n>beauskunftung.suche.address}"/> 
 
\t \t <Label text="{i18n>beauskunftung.suche.streetNo}"/> 
 
\t \t <Input editable="false" fieldGroupIds="Address" value="{AddressStreet}" id="inputStreetID"></Input> 
 
\t \t <Input editable="false" fieldGroupIds="Address" value="{AddressStreetNumber}" id="inputNumberID"> 
 
\t \t \t <layoutData> 
 
\t \t \t \t <l:GridData span="L3 M3 S4"/> 
 
\t \t \t </layoutData> 
 
\t \t </Input> 
 
\t \t <Label text="{i18n>beauskunftung.suche.zipCity}"/> 
 
\t \t <Input editable="false" fieldGroupIds="Address" value="{AddressZipCode}" id="inputZipID"> 
 
\t \t \t <layoutData> 
 
\t \t \t \t <l:GridData span="L3 M3 S4"/> 
 
\t \t \t </layoutData> 
 
\t \t </Input> 
 
\t \t <Input editable="false" fieldGroupIds="Address" value="{AddressCity}" id="inputCityID"/> 
 

 
</core:FragmentDefinition>

내가 javacript

\t var oFragment = sap.ui.xmlfragment("testistest", "com.natuvion.ddi.fragments.select.address"); 
 
    var oLayout = this.getView().byId("AddressIDandSoOn"); 
 
    oLayout.insertContent(oFragment, -1);

로 조각을 추가하는 경우

내가 다음과 같은 오류가 발생합니다 :

catch되지 않은 (약속의) 오류 : "요소 sap.ui.core.Title #__ title0, 요소 sap.m.Label #__ 각각 label0, 요소 sap.m.Input # testistest- -inputStreetID, 요소 sap.m.Input # testistest - inputNumberID, 요소 sap.m.Label #__ label1, 요소 sap.m.Input # testistest - inputZipID, 요소 sap.m.Input # testistest - inputCityID "가 아닙니다. 요소의 집계 "콘텐츠"에 유효합니다. #__ xmlview1 - AddressIDandSoOn

제가 생각하기에 문제는 add 메소드가 단지 하나의 요소를 추가 할 수 있다고 생각합니다 (단편에 레이블이있는 경우 그것은 작동합니다!). 조각의 모든 요소를 ​​포함해야하는 요소를 찾았지만 찾지 못했습니다. 페이지에 XML을 통해 조각을 추가하면

<core:Fragment id="addressFragment1" 
fragmentName="com.natuvion.ddi.fragments.select.address" type="XML"> 
</core:Fragment> 

이 작동합니다. 이 시점에서 SimpleForm 내부에 조각을 추가하는 방법을 모릅니다. 주어진 데이터에 따라 추가해야하므로 요소의 동적 생성이 필요합니다.

내 질문 : - 단편을 단편에 추가하려면 어떻게해야합니까?

답변

0

프로그래밍 방식 API는 콘텐츠를 추가/삽입 할 때 단일 요소 만 지원하고 배열은 지원하지 않습니다. 그래서 당신은 배열을 통해 반복 시도하고 하나 하나를 추가 할 수 있습니다 : 당신이 고려할 수있는 또 다른 옵션은 sap.ui.layout.form.Form로 이동

var aFragment = sap.ui.xmlfragment("testistest", "com.natuvion.ddi.fragments.select.address"); 
 
    var oLayout = this.getView().byId("AddressIDandSoOn"); 
 
    aFragment.forEach(function (oElement) {oLayout.addContent(oElement);});

. 내부에 집계를 구성했습니다. Form -> formContainers -> formElements -> label, fields [].

주소 조각이 단일 FormContainer 일 수 있으며 addFormContainer()에 대한 단일 호출로 주소 조각을 Form에 추가 할 수 있습니다.