Bonne journée à tous.EXTjs getEl() échoue avant de montrer l'élément
En EXTjs, probablement version 4.x, j'ai un menu avec quelques niveaux de sous-menus Je voudrais ajouter un attribut de données à certains de ces sous-menus et en fait je peux le faire avec pas de problèmes avec: Ext.getCmp ("notificationMenu"). getEl(). set ({"data-notifynumber": 4});
Pour tout autre élément du menu, je dois d'abord cliquer sur le menu pour afficher tout. le sous-menu et seulement à ce moment je peux utiliser la fonction getEl(), sinon cette erreur est affichée: Uncaught TypeError: Impossible de lire la propriété 'set' de undefined
Je comprends que je devrais .. . show? render? bien, "faire quelque chose" à ces sous-éléments afin de les avoir dans le dom correctement ... Je joins une partie du code:
cela fait partie du menu que je crée:
xtype: 'button',
id:"notificationMenu",
hidden: false,
reference: 'userType',
style: 'color: #ffffff;width:58px;height:58px;',
glyph: 0xf0f3,
menu:{
border:0,
menuAlign: 'tr-br?',
bodyStyle: {
background: '#3e4752',
},
items:[
{
text:"TASKS",
disabled:true
},
{
text:"Campaigns",
data_id:"me_campaigns",
glyph:0xf0c1,
id:"notification_me_campaigns_root",
hidden:true,
menu:{
border:0,
menuAlign: 'tr-br?',
bodyStyle: {
background: '#3e4752',
},
items:[
{
text:"Approval",...
dans cet exemple, si je fais après Render:
Ext.getCmp("notificationMenu").getEl().set({"data-notifynumber": 10})
mais si j'utilise
Ext.getCmp("notification_me_campaigns_root").getEl().set({"data-notifynumber": 4})
l'erreur ci-dessus apparaît. S'il vous plaît avez-vous des conseils? puis-je appeler un "rendu de force" en quelque sorte?
Mauvaise façon de le faire. Configurez la création de l'élément afin qu'il configure l'attribut lorsqu'il est rendu. –
la fonction est déjà appelée dans le gestionnaire afterRender, et l'attribut doit être défini non pendant la création mais à certains itnervals (il s'agit d'un menu de notification pour une interrogation et de temps en temps je devais changer l'attribut de ce menu –