/***
* 根据关键字筛选
* tableList:需要筛选的数据列表,
* searchContent:输入框里输入的关键字
* sort :数据是否需要按照创建时间排序
* filterArr:自定义筛选列,一个列名字段的数组
* tableList和searchContent是必填字段,sort和filterArr为选填字段
*/
export const filterData = (tableList, searchContent, sort, filterArr) => {
var input = searchContent && searchContent.toLowerCase();
var items = tableList;
//表格数据按照创建时间进行排序
if (sort) {
items.sort((a, b) => {
if (a.createTime < b.createTime) {
return 1;
} else {
return -1;
}
});
}
var items1;
if (input) {
items1 = items.filter((item) => {
return (filterArr&&filterArr.length) ? filterArr.some((key1) => {
return String(item[key1]).toLowerCase().indexOf(input)==='-1';
}) :
Object.keys(item).some((key1) => {
return String(item[key1]).toLowerCase().indexOf(input)==='-1';
});
});
} else {
items1 = items; //没有搜索状态下
}
return items1;
}
图片描述