Ben aynı sorunu karşı karşıya düşünüyorum. Arka uçlara, düğümlerin şu anda genişletildiğini söyleyen, depoyu yeniden yüklerken ek bir parametre göndermeyle çözdüm. Sonra genişletilmiş düğümleri yeniden yüklemeye ihtiyaç duyduğum için genişletilmiş düğümlerin verilerini ekledim (genişletilmiş olmayanlar görünür değil ve genişletme üzerine yüklenir).
Yani durumda eklemek olabilir ve istek genişletilmiş düğümler hakkında bilgi ekleriz store "beforeload" olayına olay işleyicisi. Ardından yük olayında genişletilen düğümleri genişletin.
store.on("beforeload", function(store, operation) {
var root = store.getRoot(),
saveExpandedNodesIds = function(node) {
if (node.childNodes) {
Ext.Array.each(node.childNodes, function(rec){
if (rec.get('expanded')) {
// save to tree object
tree.expandedNodes[]= rec.get('id');
saveExpandedNodesIds(rec);
}
});
}
}
saveExpandedNodesIds(root);
});
Ve yük İstersen sonradan bir pasajı yazabilir genişletilmiş durumu
store.on("load", function() {
fn: function(store) {
/**
* If tree has expanded nodes, expand them after load
*/
if(tree.expandedNodes > 0) {
while(tree.expandedNodes.length > 0) {
var item = tree.expandedNodes.shift();
if (store.getById(item) !== null) {
store.getById(item).expand();
}
}
}
}
});
geri yükleyin:
Yani, yük öncesi düğümleri kaydedin.
Evet! Güzel bir yaklaşım gibi gözüküyor, bunu denemeden önce cevap olarak işaretlemeyeceğim, teşekkürler. –
Henüz denedin mi? Tamamsa cevap olarak işaretle. – taubi19
Evet, cazibe gibi çalıştı! Çok teşekkür ederim! (Lütfen yazınızı "işlev" yerine "funciton" yazdığınız ilk satırda düzenleyin). –