Hallo, ich stehe leider bei der Erweiterung eines Eingabefeldes im Backend etwas auf dem Schlauch und hoffe jemand kann mir einen Tip geben. Über folgenden Code erstelle ich ein Dropdownfeld in der Artikeleingabe. xtype:'combo', name: 'attribute[myDemofield]', fieldLabel:'Mein Label', emptyText: 'Bitte wählen...', allowBlank: true, forceSelection: false, displayField: 'name', valueField: 'key', store: Ext.create('Ext.data.Store', { fields: ['key', 'name'], data : [{ "key": 'abc', "name":'Daten 1' }, { "key": 'def', "name":'Daten 2' }] }) }
Das Ganze funktioniert auch eigentlich wie es soll, bis auf eine Kleinigkeit. Wenn kein Wert im Dropdown gewählt wurde und der Artikel gespeichert wird, steht nichts in der DB. Also alles ok. Wird ein Wert gewählt, steht was in der DB. Auch ok! Wenn ich jetzt aber das Dropdownfeld wieder ohne Wert haben möchte und die Auswahl lösche und speichere, steht immer noch der „alte“ Wert im Feld. Gibt es hier einen „Default-Wert“ oder einen eleganteren Weg als den hier: data : [{ "key": '', "name": me.emptyText }, { "key": 'abc', "name":'Daten 1' }, { "key": 'def', "name":'Daten 2' }]
Hoffe ihr versteht was ich meine?! Besten Dank schon vorab!!
Auch auf Sencha finde ich nichts dazu. Bin ich nur blind oder geht das nicht anders? Gruß
Hätte dazu ggf. jemand einen Tip?
Hi,
hast du für attribute[myDemofield] „useNull“ auf true gesetzt im Model? Das ist ein häufiges Problem bei sowas, wenn ich mich richtig erinnere.
Daniel
@Daniel Nögel
Hi,
ja im Model ist useNull auf true
//{block name="backend/article/model/attribute/fields" append}
{ name : 'myDemofield', type: 'string', useNull: true },
//{/block}
Bis auf das “Zurücksetzen” funktioniert auch alles.