Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie wende ich Farben basierend auf booleschen Werten dynamisch auf die SAP.m-Textsteuerung an?

Susan Sarandon
Freigeben: 2024-10-31 06:30:30
Original
267 Leute haben es durchsucht

How to Dynamically Apply Colors to SAP.m Text Control Based on Boolean Values?

Binding in Control mit dem Attribut „class“ – Eine Problemumgehung mit benutzerdefinierten Daten

Diese Frage befasst sich mit der Herausforderung der dynamischen Anwendung von Farben auf Werte in ein SAP.m-Textsteuerelement basierend auf ihren booleschen Werten. Obwohl der folgende XML-Code logisch erscheint, ändert er die Klasse des Steuerelements nicht:

<code class="xml"><Text
  class="{= ${HintTable>IS_ENABLED} === 'TRUE' ? 'greenTextColor' : redTextColor'}"
  text="{HintTable>IS_ENABLED}"
/></code>
Nach dem Login kopieren

UI5 erlaubt keine direkte Klassenbindung in XML-Ansichten. Es gibt jedoch eine Problemumgehung mit benutzerdefinierten Daten:

  1. Benutzerdefinierte Daten mit writeToDom Set hinzufügen:
    Fügen Sie ein benutzerdefiniertes Datenelement in Ihr Steuerelement ein:

    <code class="xml"><ControlXYZ class="myControl">
      <customData>
        <core:CustomData xmlns:core="sap.ui.core"
          writeToDom="{= expression }"
          key="green"
          value=""
        />
      </customData>
    </ControlXYZ></code>
    Nach dem Login kopieren
  2. CSS-Selektor definieren:
    Fügen Sie einen entsprechenden Selektor in Ihrem CSS hinzu:

    <code class="css">.myApp .sapControlXYZ.myControl[data-green] { /* ... */ }</code>
    Nach dem Login kopieren

Dies wird hinzugefügt data-green zum HTML-Element des Steuerelements basierend auf der Ausdrucksbindung in writeToDom. Der Browser kann dann die Farbe entsprechend ändern.

Beispiel:

<code class="xml"><Text
  class="myControl"
  text="{value}"
>
  <customData>
    <core:CustomData xmlns:core="sap.ui.core"
      writeToDom="{= ${value} === 'TRUE' }"
      key="green"
      value=""
    />
  </customData>
</Text></code>
Nach dem Login kopieren
<code class="css">.myApp .sapText.myControl[data-green] { color: green; }
.myApp .sapText.myControl:not([data-green]) { color: red; }</code>
Nach dem Login kopieren

Achtung:

SAP rät von der Verwendung von benutzerdefiniertem CSS ab, insbesondere für Steuerelemente mit vordefinierten Farben oder Formaten. Das Anpassen von Stilen kann sich auf die App-Konsistenz auswirken und den Wartungsaufwand erhöhen. Konsultieren Sie die Beteiligten, bevor Sie Stile ändern.

Das obige ist der detaillierte Inhalt vonWie wende ich Farben basierend auf booleschen Werten dynamisch auf die SAP.m-Textsteuerung an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!