您的位置:首页 > Web前端 > JavaScript

[Extjs6]treepanel内数据的过滤实现

2016-10-13 22:28 337 查看
//菜单树过滤
searchTextChanged:function(node,newValue){
//console.log("searchTextChanged");
//console.log(this.lookupReference('treelist'));
alert('searchTextChanged');
var _treeStore = this.lookupReference('treelist').getStore();
var _regExp = new RegExp('.*'+newValue+'.*');
_treeStore.clearFilter();
console.log('record');
console.log(newValue);
var isLeaf = false;
_treeStore.filterBy(function(record,id){
console.log(record);
console.log(record.data.text);
if(record.childNodes.length > 0){
if(_regExp.test(record.data.text)){
isLeaf = true;
}
else{
isLeaf = false;
}
return true;
}else{
if(isLeaf)
return true;
else
return _regExp.test(record.data.text);
}
});
}


【注】若store中存在filter,则每次菜单树的展开 关闭都会执行这个filter
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  extjs