0
Demo
ExtJs를 사용하여 treepanel을 만듭니다.
스토어 :ExtJs의 beforeitemexpand 이벤트에서 트리 데이터를 수정 한 후에 최신 트리를 표시하지 않으시겠습니까?
var store = Ext.create('Ext.data.TreeStore', {
root: {
text: 'Root Node',
expanded: false,
children: [{
text: 'Child 0',
leaf: true
}, {
text: 'Child 1',
leaf: true
}, {
text: 'Child 2',
leaf: true
}]
}
});
JS :
Ext.onReady(function() {
Ext.create('Ext.window.Window', {
title: 'Our first tree',
layout: 'fit',
autoShow: true,
height: 180,
width: 220,
items: {
xtype: 'treepanel',
border: false,
store: store,
rootVisible: true,
listeners: {
beforeitemexpand: function (p, eOpts){
alert("current node:" + p.data.text);
var childNodes = p.childNodes;
$.each(childNodes,function(no, child){
alert(child.data.text);
child.data.text = no;
alert(child.data.text);
});
}
}
}
});
});
질문 : 노드를 확장하면
,이 데이터를 수정합니다 beforeitemexpand 이벤트를 트리거합니다 그 자식 노드의 그러나 확장 된 자식 노드는 수정 된 텍스트가 아니라 원본 텍스트를 표시합니다.
데모의 경우 처음으로 Root Node
을 확장 한 후에 실제로 트리 텍스트가 변경되었지만 창에 표시되지는 않습니다. 그런 다음 Root Node
을 다시 확장하면 수정 된 텍스트가 표시됩니다.
어떻게하면 최신 데이터를 표시 할 수 있습니까? 어쩌면이 상황에 대한 전치사가 아닌 또 다른 사건이 있습니다. 그러나 오랜 시간 동안 찾은 후에는 찾지 못합니다.
도움 주셔서 감사합니다.
감사합니다. –