Was ist Smart Field in SAP UI5

SmartField-Steuerelemente interpretieren Metadaten, die Entitätsbeziehungsmodelle, Datentypen, Dienstfunktionen und Anmerkungen in OData-Diensten darstellen, um automatisch zu generieren 底层内部控件und die Menge an Code zu reduzieren, die für die Entwicklung von Anwendungen erforderlich ist. In einigen Fällen werden OData-Entitäten aus dem Bindungskontext des Steuerelements abgeleitet. Eigenschaften von OData-Entitäten, die mit dem Steuerelement geändert oder angezeigt werden, werden von der Value-Eigenschaft des Steuerelements abgeleitet.

Wichtig: SmartField ruft und analysiert, wie alle SAPUI5 Smart Controls, Metadaten und Annotationen von OData-Services. OData-Metadaten sind die Haupt-API. Diese OData-Services sind nicht Teil des SAPUI5-Frameworks und werden normalerweise von den Backend-Entwicklern der Anwendung gepflegt.

SmartField kann sich weiterentwickeln und im Laufe der Zeit neue Funktionen erhalten. Das bedeutet, dass sich sein Verhalten oder seine Funktionalität ändern kann, wenn die Anmerkung, die diese Änderung definiert, in den Back-End-Metadaten verbleibt. Um von der neuen Funktionalität zu profitieren, sollten sich SAP-UI5-Anwendungen an Backend-Metadaten anpassen können. Daher empfiehlt SAP, SmartField nur dann zu verwenden, wenn der Entwickler die volle Kontrolle über die Metadaten der Anwendung hat.

Barrierefreiheit

Aus Gründen der Interoperabilität und Zugänglichkeit müssen SmartField-Controls durch ein sap.ui.comp.smartfield.SmartLabel-Control anstelle eines sap.m.Label-Controls gekennzeichnet werden, da das sap.m.Label-Control die interne Struktur eines SmartFields nicht kennt kontrollieren . Wenn das SmartField-Steuerelement in einem Smart-Container-Steuerelement (z. B. einem SmartForm-Steuerelement) gerendert wird, wird das SmartLabel-Steuerelement automatisch generiert, um die auf der Anwendungsseite erforderliche Codemenge zu reduzieren. In anderen Fällen jedoch, wenn ein SmartField alleine oder außerhalb eines intelligenten Container-Steuerelements verwendet wird, z. B. eines SimpleForm-Steuerelements, wird in diesen Fällen nicht automatisch ein SmartLabel-Steuerelement generiert. Obwohl sap.ui.comp.smartfield.SmartLabel ein privates/internes Steuerelement ist, ermöglicht die Anwendung die folgenden grundlegenden Verwendungen zum Kennzeichnen von SmartField-Steuerelementen.

ein Beispiel:

<sap.ui.comp.smartfield.SmartLabel labelFor="IDProduct"/>
<sap.ui.comp.smartfield.SmartField id="IDProduct" value="{ProductId}"/>

Die alleinige Verwendung des SmartLabel-Steuerelements wird nicht empfohlen. Nur die grundlegende Verwendung ist zulässig, ausgenommen die automatische Handhabung der Sichtbarkeit. Bei alleiniger Verwendung muss die Anwendungslogik für die Sichtbarkeit der Beschriftung sorgen.

FieldControl

Definiert, ob das Feld obligatorisch, ausgeblendet oder im schreibgeschützten/bearbeitbaren Modus ist.

Entity Data Model (EDM)-Eigenschaften können mithilfe der com.sap.vocabularies.Common.v1.FieldControl-Annotation in OData V4-Modellen oder der sap:field-control-Annotation in OData V2-Modellen dynamisch annotiert werden, indem eine Bindung an eine andere Eigenschaft bereitgestellt wird. Ein EDM Eigenschaft mit dem Pfadtyp Edm.Byte, deren Wert im Datenmodell sein kann:

  • 0: Gibt an, dass das Feld ausgeblendet ist. Hinweis: Hidden ist ein N/A-Synonym und veraltet. Verwenden Sie es nicht, um Felder auf der Benutzeroberfläche statisch auszublenden, sondern verwenden Sie stattdessen die statische FieldControl-Annotation.

  • 1: Gibt an, dass sich das Feld im schreibgeschützten Modus befindet und sein Wert nicht geändert werden kann. Hinweis: Um eine EDM-Eigenschaft statisch als schreibgeschützt zu kommentieren, verwenden Sie stattdessen die Annotation Org.OData.Core.V1.Computed.

  • 3: Gibt an, dass das Feld bearbeitbar und optional ist (Standard).

  • 7: Gibt an, dass das Feld aus geschäftlicher Sicht obligatorisch ist. Dieser Wert bedeutet keine Einschränkung des Wertebereichs des EDM-Attributs. Um beispielsweise die Verwendung eines Wertebereichs einzuschränken, muss die Standardtypfacette Nullable mit dem Wert false verwendet werden, um Nullwerte auszuschließen, oder es muss ein Begriff aus dem Org.OData.Validation.V1-Vokabular verwendet werden.

Ich denke du magst

Origin blog.csdn.net/i042416/article/details/123728870
Empfohlen
Rangfolge