나는 두 가지 주요 구성 요소가의 ExtJS에서 웹 페이지를 만들려고 해요에서 TreeStore를 새로 고칠 수 없습니다 : (의 ExtJS
- 형태 (Ext.form.Panel)
- 패널을 Ext.tree을 .Panel)
양식에 두 번째 패널에 트리를 채워야하는 값이 있어야합니다. 첫 번째 패널의 버튼 핸들러에서 업데이트 된 JSON 객체에 액세스 할 수 있지만 tree.Panel의 디스플레이를 업데이트하는 TreeStore를 새로 고치는 방법을 찾을 수 없습니다.
buttons:[
{
text:'Get CCP/Product',
handler:function (btn, evt) {
dataObject.print();
treeStore.removeAll();
dataObject.setData({'expanded':false,'children':[{'text':'Master11','expanded':true,'leaf':false,'children':[{'text':'Child 12','expanded':true,'leaf':false,'children':[{'text':'Child 23','expanded':true,'leaf':false,'children':[{'text':'Child 34','expanded':false,'leaf':false}]}]}]}]})
dataObject.print();
}
}
]
그러나 :
Ext.define('TreeServiceData',{
config:{
data : ''
},print : function() {
console.log("Printing data: ")
console.log(this.data.children[0])
}
});
var dataObject = Ext.create('TreeServiceData');
dataObject.setData({'expanded':false,'children':[{'text':'Master','expanded':true,'leaf':false,'children':[{'text':'Child 1','expanded':true,'leaf':false,'children':[{'text':'Child 2','expanded':true,'leaf':false,'children':[{'text':'Child 3','expanded':false,'leaf':false}]}]}]}]})
Ext.define('TreeStoreData',{
extend: 'Ext.data.TreeStore',
model: 'TaskModel',
autoLoad: true,
autoSync: true,
proxy: {
type:'memory',
reader: {
type:'json'
}
},
root:dataObject.getData()
});
var treeStore = Ext.create('TreeStoreData');
가 지금 업데이트하고 다음과 같습니다 버튼 통화이 treestore의 값을 표시하기 위해 노력하고있어 :
이
내가 지금까지 무엇을 가지고 이 버튼 핸들러에서 나는 항상 "Uncaught TypeError : treeStore.removeAll() 메서드에서 '정의되지 않은 indexOf'메서드를 호출 할 수 없습니다. treestore가이 컨텍스트에서 명확하게 정의됩니다.질문 1) TreeStore를 새로 고치는 올바른 방법은 무엇입니까?