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;
}
]
网友评论