扩展项目中的SAPUI5 Smartfields

时间:2018-12-13 08:03:53

标签: sapui5

我有一个有效的应用程序(A),该应用程序使用XML中的SmartField。 我基于此工作应用程序创建了一个扩展项目,我的工作应用程序(A)仍然可以正常工作,并且所有数据均按预期显示。

但是当我运行扩展项目时: 即使在我使用UI5-Inspector的情况下,我在应用程序(A)中使用的SmartFields也仅显示标签,并且不显示绑定值。

即使是我在扩展项目中创建的SmartField(我为包含SmartField的额外片段创建了一个扩展点),也只显示标签而不显示我插入的值:

<core:FragmentDefinition xmlns:core="sap.ui.core" xmlns="sap.uxap" xmlns:layout="sap.ui.layout" xmlns:m="sap.m"
xmlns:suite="sap.suite.ui.commons" xmlns:comp="sap.ui.comp.variants" xmlns:smartForm="sap.ui.comp.smartform"
xmlns:smartField="sap.ui.comp.smartfield">
<ObjectPageSection title="{i18n_AfkoppelingsDossier>tab.Project}" id="projectTab-ObjectPageSection--id">
    <subSections>
        <ObjectPageSubSection>
            <blocks>
                <smartForm:SmartForm id="ProjectSmartFormId" editable="true">
                    <!-- Kolom 1 -->
                    <smartForm:Group label="{i18n_AfkoppelingsDossier>title.project}">
                            <smartForm:GroupElement useHorizontalLayout="true">
                            <m:Input value="abc"/>
                        </smartForm:GroupElement>
                        <smartForm:GroupElement>
                            <smartField:SmartField id="IDWBSElement" textLabel="{i18n_AfkoppelingsDossier>label.WBS.element}" value="a"/>
                        </smartForm:GroupElement>
                        <smartForm:GroupElement useHorizontalLayout="true">
                            <smartField:SmartField id="IDContractNumber" textLabel="{i18n_AfkoppelingsDossier>label.contrNr.contractor}" value="nummerke"/>
                        </smartForm:GroupElement>
                        <smartForm:GroupElement useHorizontalLayout="true">
                            <smartField:SmartField id="IDMaxIntervention" textLabel="{i18n_AfkoppelingsDossier>label.max.intervention}" value="0.00€"/>
                        </smartForm:GroupElement>
                        <smartForm:GroupElement useHorizontalLayout="true">
                            <smartField:SmartField id="IDLocationInfomeeting" textLabel="{i18n_AfkoppelingsDossier>label.location.infomeeting}" value="Locatie"/>
                        </smartForm:GroupElement>
                    </smartForm:Group>
                </smartForm:SmartForm>
            </blocks>
        </ObjectPageSubSection>
    </subSections>
</ObjectPageSection>

我已经检查了我的DevTools,并且那里有值,所以我不知道为什么它不显示值。

SmartField的属性: enter image description here

关于什么可能导致此问题的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

我能够重新创建它,看来value property仅适用于绑定。

Value Control Property Definition

SmateField Example

data.json和view.xml文件:

[{

  "nummerke": "nummerke",
  "Euro": "0.00€",
  "Local": "Locatie",
  "Letter": "a"
}]
<mvc:View controllerName="com.controller.name" xmlns="sap.m" xmlns:smartForm="sap.ui.comp.smartform" xmlns:viz="sap.viz.ui5.controls" xmlns:mvc="sap.ui.core.mvc" xmlns:viz.feeds="sap.viz.ui5.controls.common.feeds" xmlns:viz.data="sap.viz.ui5.data" xmlns:suite="sap.suite.ui.commons"
  xmlns:comp="sap.ui.comp.variants" xmlns:smartField="sap.ui.comp.smartfield">
  <Page id="page" title="PageTitle" showHeader="true" enableScrolling="true">
    <content>
      <FlexBox alignItems="Center" busyIndicatorDelay="{masterView>/delay}" renderType="Bare" class="ne-flexbox2" width="100%" justifyContent="SpaceBetween" id="container">
        <items>
          <smartForm:SmartForm id="ProjectSmartFormId" editable="true">
            <!-- Kolom 1 -->
            <smartForm:Group label="title.project">
              <smartForm:GroupElement useHorizontalLayout="true">
                <Input value="abc" />
              </smartForm:GroupElement>
              <smartForm:GroupElement>
                <smartField:SmartField id="IDWBSElement" value="{/0/Letter}" />
              </smartForm:GroupElement>
              <smartForm:GroupElement useHorizontalLayout="true">
                <smartField:SmartField id="IDContractNumber" textLabel="label.contrNr.contractor" value="{nummerke}" />
              </smartForm:GroupElement>
              <smartForm:GroupElement useHorizontalLayout="true">
                <smartField:SmartField id="IDMaxIntervention" textLabel="label.max.intervention" value="{/0/Euro}" />
              </smartForm:GroupElement>
              <smartForm:GroupElement useHorizontalLayout="true">
                <smartField:SmartField id="IDLocationInfomeeting" textLabel="label.location.infomeeting" value="{/0/Local}" />
              </smartForm:GroupElement>
            </smartForm:Group>
          </smartForm:SmartForm>
        </items>
      </FlexBox>
    </content>
  </Page>
</mvc:View>

希望有帮助。