J'ai un Ext.form.field.Text
et je veux remplacer la fonction setValue
.
Quelle est la méthode recommandée pour remplacer cette fonctionnalité de classe dans ExtJS? Ext.override ?
La réponse de @sra est excellente et m'a été très utile pour mieux comprendre la fonctionnalité de substitution disponible dans Ext, mais elle n'inclut pas la manière dont j'implémente le plus souvent les substitutions, qui ressemble à ceci:
Ext.define('my.application.form.field.Text' {
override: 'Ext.form.field.Text'
getValue: function () {
// your custom functionality here
arguments[1] = false;
// callParent can be used if desired, or the method can be
// re-written without reference to the original
this.callParent(arguments)
}
});
J'utilise toujours Ext 5, je vais donc charger ce fichier dans mon Application.js
et l'ajouter au tableau require qui applique le remplacement à l'application globalement. Je pense que les projets Ext 6 incluent un dossier de remplacement et que le simple ajout de ce fichier dans ce dossier garantit que le remplacement est appliqué.