2014-10-02 9 views
5

Ich habe eine Combobox mit sap.m Bibliothek:SAPUI5: Wie wählen Sie Feld machen read-only

var oSelection = new sap.m.ComboBox({ 
    name: <name>, 
    id:  <id>, 
    items: { 
     <items here> 
     }) 
    }, 
}); 

Nun, wie kann ich dieses Feld machen lesen Art nur so, wenn ich es auf mobilen tippen , es würde die Tastatur des Handys nicht bringen, aber es würde die Auswahlmöglichkeiten bringen? Ich habe versucht, editable: false zu verwenden, aber es deaktiviert die Auswahl zusammen mit der Tastatur.

Vielen Dank.

+1

Haben Sie erwogen, sap.m.Select anstelle von sap.m.ComboBox zu verwenden? – user2808624

+0

Select-Steuerelement wird die letzte Option sein, weil ich Platzhalter verwenden möchte, die Select-Steuerelement nicht hat (soweit ich weiß). – keshet

Antwort

2

Von was ich herausfinden konnte gibt es keine Methode, die solches Verhalten ermöglicht.

Eine Option, die ich persönlich nicht empfehlen würde, besteht darin, auf das HTML-DOM zuzugreifen und das Eingabefeld zu deaktivieren, das die Komponente sap.m.Combobox enthält.

Beachten Sie, dass Ihr Code bei der Aktualisierung der SAPUI5-Bibliotheken beschädigt werden könnte, wenn die Entwicklung SAPUI5 die inneren Funktionen der Combobox-Komponente ändert.

Nachdem dies gesagt ist, diese Option verwenden Sie so etwas wie tun könnte:

 oSelection.onAfterRendering = function() { 
      if (sap.m.ComboBox.prototype.onAfterRendering) { 
       sap.m.ComboBox.prototype.onAfterRendering.apply(this); 
      } 
      document.getElementById("<id>-inner").disabled=true; 
     } 

ersetzen die < id> -Inner durch die korrekte ID zu Ihrer Komponente gegeben.

Dies wurde mit der Version 1.22.8 des SAPUI5 Development Toolkits getestet.

+0

Sieht loki Ich werde Select irgendwann verwenden müssen. Ihre Lösung ist in Ordnung, aber ich möchte wirklich nicht jedes Mal, wenn die SAP-Bibliotheken aktualisiert werden, mit der Anwendung zu tun haben. Thaks sowieso. – keshet

Verwandte Themen