//前端筛选功能 //筛选手动触发 function changeFilterEvent (event, option, $panel) { // 手动触发筛选 $panel.changeOption(event, !!option.data, option) } // 筛选函数 const filterChanged = ({ option, row, column }) => { if (option.data) { if(column.field.indexOf('.')>-1){ let array = column.field.split('.') if (row[array[0]][array[1]]==null){ return ''.indexOf(option.data) > -1 }else { return row[array[0]][array[1]].toString().indexOf(option.data) > -1 } }else { if (row[column.field]==null){ return ''.indexOf(option.data) > -1 }else { return row[column.field].toString().indexOf(option.data) > -1 } } } return true } const filterChangeds = ({ option, row, column }) => { if (option.data) { // 将筛选关键词统一转为小写 const searchStr = option.data.toLowerCase(); if (column.field.indexOf('.') > -1) { let array = column.field.split('.'); // 获取要比较的值并转为字符串后再转小写 const value = row[array[0]]?.[array[1]]; const valueStr = (value?.toString() || '').toLowerCase(); return valueStr.indexOf(searchStr) > -1; } else { // 获取要比较的值并转为字符串后再转小写 const value = row[column.field]; const valueStr = (value?.toString() || '').toLowerCase(); return valueStr.indexOf(searchStr) > -1; } } return true; } export {changeFilterEvent,filterChanged,filterChangeds}