简易前端分页和模糊查询方法

403 阅读1分钟

自定义方法

1. 分页

/**
 * @description 前端分页
 * @param {array} list 需要分页的数据
 * @param {object} pagination {currentPage:当前页码,pageSize:显示的数据量}
 * @return {array}
 * @author 阿怼
 * @date 2021/8/2 下午 5:47
 */
export function splitPage(list, pagination) {
  const originalList = JSON.parse(JSON.stringify(list))
  const start = (pagination.currentPage - 1) * pagination.pageSize
  const end = start + pagination.pageSize
  return originalList.slice(start, end)
}

2. 模糊查询

/**
 * @description 前端模糊查询
 * @param {array} list 需要过滤的数据
 * @param {object} keyWords 对应需要过滤数据的字段,例如:{name:'adui'}
 * @return {array}
 * @author 阿怼
 * @date 2021/8/2 下午 5:48
 */
export function searchFiltering(list, keyWords) {
  let originalList = JSON.parse(JSON.stringify(list))
  for (const keyWordKey in keyWords) {
    originalList = originalList.filter(x => {
      return x[keyWordKey].toString().indexOf(keyWords[keyWordKey]) > -1
    })
  }
  return originalList
}