Ich verwende Extjs4 und MVC. Ich möchte die Felder meines Modells dynamisch ändern ... So etwas wie das Hinzufügen einer variablen Anzahl von Feldern ... Irgendwelche Vorschläge?Extjs4 Wie man ein Modell dynamisch ändert?
Antwort
Sie können die model.setFields(fieldsArray)
-Funktion verwenden, die in der API here angezeigt wird. Diese Methode ersetzt alle vorhandenen Felder im Modell mit allen neuen Feldern, die Sie in das Argument aufnehmen. Es gibt keine statische getFields
Methode, die vorhandenen Felder zu erfassen, um sie nicht zu überschreiben, aber es ist einfach genug, sie unter Verwendung model.prototype.fields
zu erhalten.
Ich tat dies vor kurzem, um dynamische Berechtigungseinstellungsfelder an ein "Benutzer" -Modell anzuhängen, bevor ich den Benutzer geladen habe. Hier ein Beispiel:
Ext.define('myApp.controller.Main', {
extend: 'Ext.app.Controller',
models: [
'User',
],
stores: [
'CurrentUser', // <-- this is not autoLoad: true
'PermissionRef', // <-- this is autoLoad: true
],
views: ['MainPanel'],
init: function() {
var me = this;
// when the PermissionRef store loads
// use the data to update the user model
me.getPermissionRefStore().on('load', function(store, records) {
var userModel = me.getUserModel(),
fields = userModel.prototype.fields.getRange();
// ^^^ this prototype function gets the original fields
// defined in myApp.model.User
// add the new permission fields to the fields array
Ext.each(records, function(permission) {
fields.push({
name: permission.get('name'),
type: 'bool'
});
});
// update the user model with ALL the fields
userModel.setFields(fields);
// NOW load the current user with the permission data
// (defined in a Java session attribute for me)
me.getCurrentUserStore().load();
});
}
});
Ich habe gerade bemerkt, dass dies ein Duplikat von [diesem] (http://stackoverflow.com/questions/5751289/dynamic-model-with-extjs-4) ist, nachdem ich es beantwortet habe. Ich gab genau die gleiche Antwort dort ... – Geronimo
- 1. Wie ändert man Header dynamisch?
- 2. extjs4 Aktion Spaltensymbol dynamisch ändern
- 3. Wie ändert man Text in Svg dynamisch?
- 4. Wie ändert man die Bandhöhe dynamisch?
- 5. Wie ändert man dynamisch die Elementausrichtung?
- 6. CodeIgniter: Wie man Controller Namen dynamisch ändert
- 7. Wie ändert man die Strichfarbe dynamisch?
- 8. wie man bootstrap-wysihtml5 dynamisch ändert
- 9. Wie ändert man UICollectionview Zellenhöhe dynamisch?
- 10. Wie ng-Modell dynamisch
- 11. EXTJS4 MVC Struktur
- 12. Wie ändert man dynamisch das CSS eines Pseudoelements mit JQuery?
- 13. Wie ändert man den Browsertitel dynamisch in der Joomla-Seite?
- 14. Wie ändert man die Klasse eines Objekts dynamisch in C#?
- 15. Wie ändert man die Seitenansicht dynamisch in angular2?
- 16. Android - Wie ändert man Texte in den Einstellungen Aktivität dynamisch?
- 17. Android GridView - Wie man eine Bitmap dynamisch ändert?
- 18. Wie ändert man dynamisch die HTML-Quelle einer Seite?
- 19. Wie man html player src dynamisch von der Titelliste ändert
- 20. Wie ändert man den Bereich innerhalb der Formel dynamisch?
- 21. JavaFX 2.0 - Wie ändert man die Legendenfarbe eines LineChart dynamisch?
- 22. Wie gibt man dynamisch Wert für ng-Modell in angularjs?
- 23. Sencha Touch - Wie ändert man die Zeilenfarbe eines Rasters dynamisch?
- 24. Wie ändert man die Stilgröße eines Canvas dynamisch durch JavaScript?
- 25. Wie ändert man das Style-Tag dynamisch mit JavaScript?
- 26. Wie man c: forErch Ende Wert dynamisch ändert
- 27. Wie ändert man die Schriftgröße in Auto Layout iOS dynamisch?
- 28. Wie ändert man den Widgets-Wert von Navigation Header dynamisch?
- 29. Wie ändert man den Objektnamen dynamisch in Javascript?
- 30. Wie ändert man Spaltentitel dynamisch in Kendo UI TreeList?
möglich Duplikat [Dynamisches Modell mit ExtJS 4] (http://stackoverflow.com/questions/5751289/dynamic-model-with-extjs-4) –
Was genau Sie versuchen, machen? Kannst du etwas genauer sein? Und welche Version von ExtJs benutzt du? – sha
Extjs4, zum Beispiel habe ich ein Modell mit 3 Feld ... Ich möchte es mit anderen sechs Feld erweitern ... –