यदि आप तत्व को हटाते हैं तो ExtJS स्वचालित रूप से घटकों को नष्ट नहीं करेगा। तत्व को डीओएम से हटा दिया जाएगा, लेकिन पैनल इसका संदर्भ रखता है। प्रयास करें निम्नलिखित:
Ext.select('.placeholderForExtPanel').first().remove();
console.log(Ext.getCmp('panel-id').getEl().dom.parentNode); // assuming your panel's id is "panel-id"
तत्व अभी भी मौजूद है, और तुम सिर्फ फिर से डोम से संलग्न सकता है अगर आप:
document.body.appendChild(Ext.getCmp('panel-id').getEl().dom.parentNode);
(साइड नोट: तथ्य यह है कि पैनल संदर्भ रखता है इसमें तत्व शामिल होने से ब्राउजर के कचरा कलेक्टर को इसे नष्ट करने से भी बचाता है)
असल में यह अन्य तरीकों से काम करता है, घटक इसके संबंधित डीओएम तत्वों का प्रबंधन करता है, इसलिए जब आप घटक को नष्ट करते हैं तो डीओएम तत्व भी हटा दिए जाएंगे।
इसके अलावा, किसी भी घटक है जो अन्य घटकों को शामिल कर सकते हैं (अर्थात Ext.container.Container और उसके उपवर्गों के सभी) अपने बच्चे घटकों में से किसी को नष्ट कर देगा, जब वे नष्ट कर रहे हैं (यह मानते हुए autoDestroy सक्षम किया गया है, जो कि डिफ़ॉल्ट है)।
इसलिए, यदि आप स्वचालित रूप से सभी घटकों को जो एक निश्चित तत्व के लिए प्रस्तुत किए गए हों नष्ट करना चाहते हैं, बस एक कंटेनर के रूप में उस तत्व बना सकते हैं और आप अच्छा होना चाहिए:
var container = Ext.create('Ext.container.Container', {
cls: 'placeholderForExtPanel',
renderTo: Ext.getBody(),
items: [{
xtype: 'panel',
title: 'mypanel'
}]
});
container.destroy(); // destroys the container AND the panel
वास्तव में, reson मैं पूछ रहा हूँ ऐसा इसलिए है क्योंकि मैं एक ext.tree.Panel को ट्रीग्रिड के रूप में व्यवस्थित करना चाहता हूं जो कुछ पंक्तियों को उनके संबंधित '
मैंने रोबॉडी फीचर, या रोएक्सपेन्डर प्लगइन का उपयोग करने की कोशिश की, लेकिन उनमें से दोनों एक पेड़ ग्रिड के साथ निराशाजनक रूप से छोटी हैं। – LordOfThePigs
आप इस पर [रीफ्रेश] (http://docs-origin.sencha.com/extjs/4.1.1/#!/api/Ext.tree.View-event-refresh) ईवेंट सुन सकते हैं, इस के रूप में जब भी ग्रिड व्यू HTML संरचना का पुनर्निर्माण करता है तब निकाल दिया जाएगा। इसके लायक होने के लिए, ग्रिड पंक्तियों या कोशिकाओं को घटकों को प्रतिपादित करना आम तौर पर बुरा विचार है (मैं वहां भी रहा हूं :)) क्योंकि दृश्य अक्सर ताज़ा कर सकता है (उदाहरण के लिए सॉर्टिंग पर) और संभावित रूप से कई घटकों को प्रस्तुत करने की आवश्यकता होती है, जो प्रदर्शन को धीमा कर दें। – matt
संबंधित मुद्दे