ext6.0及以上的ajax請求,需要過濾返回節點的操作,可以從ext6.0或者以上的api上找到該方法filters;您需要去掉返回的某些節點,可以參考下面的方法
Ext.create('Ext.data.TreeStore', {
storeId:'Template', // 數據集ID
root: { // 根節點配置
id: '400', // 根節點ID
expanded: true, // 默認展開
text: '模板' // 根節點名稱
},
proxy: { // 訪問代理
type: 'ajax', // 類型異步
// 請求方式為post
actionMethods: {
read: 'POST'
},
api: {
read: 'test/testUrl' //接口
},
//接口 過濾
filters:[
function (item) {
//比如 過濾掉 返回節點為404
return 404!=item.id;
}
]
})
您需要處理該接口返回的數據,需要在接口返回的數據中追加數據,您也需要在filters方法中執行您的判斷操作。
filters: [
function (item) {
// 后臺返回的數據
if (item.data.name == '字體圖標') {
//獲取字體圖標集合
var iconArr =[
// 特定圖標
{icon: 'icon-font1',name: '字體1'},
{icon: 'icon-font2',name: '字體2'},
{icon: 'icon-font3',name: '字體3'},
{icon: 'icon-font4',name: '字體4'},
{icon: 'icon-font5',name: '字體5'},
]
for ( var i = 0 ; i<iconArr.data.length ; i++ ) {
var iconItem = {
icon: '',
id: '',
name: ''
}
if(iconArr.data[i].icon){
// 字體圖標icon
var fontIcon = iconArr.data[i].icon;
// 字體圖標icon名
iconItem.icon = 'iconfont '+ fontIcon;
// 字體圖標id
iconItem.id = 'Icon-'+fontIcon.replace(' colorWhite', "") + i;
// 字體圖標name名
iconItem.name =iconArr.data[i].name;
// 外部引用的字體圖標添加到列表中
item.data.components.push(iconItem)
}
}
}
return item;
}
]