Uso Extjs4 y MVC. Me gustaría cambiar los campos de mi Modelo dinámicamente ... Algo así como agregar un número variable de campos ... ¿Alguna sugerencia?Extjs4 ¿Cómo cambiar un modelo dinámicamente?
Respuesta
Puede usar la función model.setFields(fieldsArray)
, que se muestra here en la API. Este método reemplaza todos los campos existentes en el modelo con cualquier campo nuevo que incluya en el argumento. No hay un método estático getFields
para capturar los campos existentes para no sobrescribirlos, pero es fácil obtenerlos usando model.prototype.fields
.
Lo hice recientemente para adjuntar campos de configuración de permisos dinámicos a un modelo de "Usuario" antes de cargar al usuario. He aquí un ejemplo:
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();
});
}
});
Acabo de notar que este es un duplicado de [este] (http://stackoverflow.com/questions/5751289/dynamic-model-with-extjs-4) después de haberlo respondido. Di la misma respuesta exacta allí ... – Geronimo
- 1. Cómo configurar dinámicamente las grillas CheckBox Selection Model en ExtJs4?
- 2. Modelo ExtJs4 con id de usuario definido
- 3. Cómo cambiar un JLabel dinámicamente
- 4. Singleton en ExtJs4
- 5. Learning ExtJS4
- 6. Cómo actualizar el modelo de QCompleter dinámicamente
- 7. Cambiar CSS dinámicamente
- 8. Backbone dinámicamente cambiar plantillas
- 9. Cambiar polilínea color dinámicamente
- 10. Cambiar un estilo dinámicamente en WPF
- 11. Plupload, cambiar dinámicamente url
- 12. En CAKEPHP ¿podemos cambiar dinámicamente la tabla vinculada a un modelo en particular?
- 13. ExtJS4 - Ext.dom.Element y fireEvent
- 14. Extjs4 - validación remota
- 15. Jquery TimePicker: Cómo cambiar dinámicamente los parámetros
- 16. ¿Cómo cambiar dinámicamente el renderizador jqplot?
- 17. Extjs4 MVC, ¿cómo obtener Modelo o Vista desde una clase de Controlador?
- 18. ¿Cómo cambiar la clase de un objeto dinámicamente en C#?
- 19. Java Swing: cómo cambiar la GUI dinámicamente
- 20. ¿Cómo cambiar dinámicamente las fuentes de eventos?
- 21. ExtJS4: Cómo pasar argumentos a initComponent
- 22. cómo usar presionado para cambiar la imagen de fondo del botón en extjs4?
- 23. Funciones privadas y variables ExtJs4?
- 24. Cómo cambiar el nombre del modelo
- 25. django: cómo cambiar los valores para nullbooleanfield en un modelo?
- 26. ¿Cambiar texto de párrafo dinámicamente con jQuery?
- 27. formas de Django: Cambiar dinámicamente help_text
- 28. Android - cambiar dinámicamente la posición de un imageview
- 29. dinámicamente cambiar los granos de primavera
- 30. ¿Cómo puedo acceder dinámicamente a un nombre detallado de un modelo de Django?
posible duplicado de [Modelo Dinámico con ExtJS 4] (http://stackoverflow.com/questions/5751289/dynamic-model-with-extjs-4) –
¿Qué es exactamente estás tratando de ¿hacer? puedes ser un poco mas especifico? ¿Y también qué versión de ExtJs estás usando? – sha
Extjs4, por ejemplo, tengo un modelo con 3 campos ... Quiero extenderlo con otros seis campos ... –