Comment puis-je remplacer le contenu d'un panneau par un nouveau contenu?
J'ai un regionContent
panneau de laquelle j'ai ajouté à ma fenêtre.
Comment puis-je remplacer son contenu avec de nouveaux contenus?
...
var regionContent = new Ext.Panel({
id: 'contentArea',
region: 'center',
padding:'10',
autoScroll: true,
html: 'this is the original content'
});
var viewport = new Ext.Viewport({
layout: 'border',
items: [ regionMenu, regionContent ]
});
var newPanel = new Ext.Panel({
region: 'east',
title: 'Info Panel',
width: 300,
html: 'this is a panel that is added'
});
//regionContent.update(newPanel); //renders as javascript code ???
//regionContent.remove(...) //how do I remove ALL CONTENT, I will not know what is in this panel to remove it specifically
regionContent.add(newPanel); //adds to original content but does not replace it
regionContent.doLayout();
...
.update()
fait ceci:
.add()
fait ceci:
source d'informationauteur Edward Tanguay
Vous devez vous connecter pour publier un commentaire.
Vous aurez envie d'utiliser un panneau de mise en carte:
Que le panneau puis aller à l'intérieur de votre fenêtre. Pour basculer entre eux, vous pourrez utiliser quelque chose comme ceci:
Prendre un regard sur les deux carte de mises en page des exemples de travail:
http://dev.extjs.com/deploy/dev/examples/layout-browser/layout-browser.html
Vous ne pouvez pas supprimer le code HTML en utilisant
.remove()
car il n'est pas considéré comme un élément d'un groupe spécial. Si vous avez besoin d'utiliser.update()
pour se débarrasser de que HTML, puis ajouter votre nouveau panneau.De votre capture d'écran, on dirait que vous avez utilisée
.update()
en passant par le nouveau panneau, par exemple,.update(newPanel)
. Cette méthode est utilisée pour mettre à jour de HTML, pas de remplacer des composants. De faire le chemin inverse:Avez-vous vraiment l'utilisation de la solution que vous avez posté pour résoudre ce problème exact? Pour moi
clearExtjsComponent()
feuilles de la chaîne HTML "Ceci est le contenu d'origine" derrière, tout comme dans votre capture d'écran.Ce sera vraiment travailler
Voici comment j'ai résolu ce problème:
puis quand je veux remplacer le contenu d'un panneau avec du nouveau contenu, j'utilise ceci: