2016-06-09 8 views
1

Guten Tag.ExtJS 4 - Einstellen des Stils der Elemente in einem Kombinationsfeld

Ich baue diese Webanwendung und ich habe eine Combo-Box mit mehreren Elementen darin. Ich bin in der Lage, das Feld und das Etikett richtig zu gestalten, indem Sie fieldCls bzw. labelCls verwenden. Ich möchte aber auch die Dropdown-Elemente so gestalten, dass sie genauso aussehen wie der Feldwert.

Ich schaute über das Internet und ich found this blog, die die tpl-Eigenschaft der Combobox verwendet, um den Stil der Dropdown-Elemente zu ändern. Er verwendet auch eine vorhandene Stilklasse, die in einer CSS-Datei für den Stil definiert ist. Ich habe versucht, dies für meine Combobox zu tun, aber ich sehe keine einfache "tpl" -Eigenschaft. Ich versuchte, die fieldSubTpl und Sencha Architekt gab mir diese Vorlage der Art hinzuzufügen, mit zu arbeiten:

fieldSubTpl: Ext.create('Ext.XTemplate', 
    '<div class="{hiddenDataCls}" role="presentation"></div>', 
    '<input id="{id}" type="{type}" {inputAttrTpl} class="{fieldCls} {typeCls} {editableCls}" autocomplete="off">', 
    '<tpl if="value"> value="{[Ext.util.Format.htmlEncode(values.value)]}"</tpl>', 
    '<tpl if="name"> name="{name}"</tpl>', 
    '<tpl if="placeholder"> placeholder="{placeholder}"</tpl>', 
    '<tpl if="size"> size="{size}"</tpl>', 
    '<tpl if="maxLength !== undefined"> maxlength="{maxLength}"</tpl>', 
    '<tpl if="readOnly"> readonly="readonly"</tpl>', 
    '<tpl if="disabled"> disabled="disabled"</tpl>', 
    '<tpl if="tabIdx"> tabIndex="{tabIdx}"</tpl>', 
    '<tpl if="fieldStyle"> style="{fieldStyle}"</tpl>', 
    '/>', 
    { 
     disableFormats: true 
    } 

aber ich bin nicht sicher, wie dies zu konfigurieren, und ich versuchte, den Code der Blog oben verwendet zu verwenden, wobei man meine eigener Stil, aber ohne Erfolg.

Es scheint, dass sie die Art geändert haben, wie tpl für Comboboxen verwendet wird, und ich kann keine Referenz für das finden, was ich habe. Hat jemand in letzter Zeit versucht, den Stil der Combobox-Elemente zu ändern? Jede Hilfe wird sehr sehr geschätzt. Vielen Dank.

+0

In Sencha Architekt overrite können, können Sie alles tun, was du nicht in ExtJS tun können. Sencha Architect ist eine Teilmenge, ich schätze es irgendwo zwischen 5% und 15% von dem, was in ExtJS möglich ist. – Alexander

+0

Ich verstehe. Würdest du die geringste Ahnung haben, wie man das macht? – Razgriz

+0

Das ist wirklich einfach: Drop Architect. – Alexander

Antwort

2

Sie können Dropdown-Listenelemente in Ihrer Combobox mit Ext.form.field.ComboBox.tpl konfigurieren.

Überprüfen Sie diese simple fiddle mit Arbeitsbeispiel.

Sie können lesen, wie es in Ext.view.BoundList.tpl verwenden, wie Ext.view.BoundList ist eine Auswahlkomponente von Ext.from.field.ComboBox (nicht sicher, warum diese Beschreibung nicht in Ext.form.field.ComboBox dupliziert wird .tpl).

Wie komplexere Lösung Sie Ext.view.BoundList.tpl