1

我在 Vue js vue-good-table 中应该有分页、排序和过滤。

从前端到后端,我传递了以下对象:

@Getter
    @Setter
    @NoArgsConstructor
    public class PagingParams {

        private String searchTerm;

        private LinkedHashMap<String, String> columnFilters;

        private LinkedHashMap<String, String> sort;

        private int page;

        private int perPage;
    }

目前分页和排序工作正常:

Pageable pageable = PageRequest
                .of(pagingParams.getPage(), pagingParams.getPerPage(), Sort.by(direction, field));

        Page<Incident> allIncidents = incidentRepository.findAll(pageable);

    public interface IncidentRepository extends PagingAndSortingRepository<Incident, Long> {
    ...}

但是如何进行过滤呢?我的表有 8 列,在这些列的顶部,我可以输入一些数据以按不同的列进行过滤。编写大量查询以满足不同参数的不同查询需求是没有意义的。根据不同的过滤器参数创建动态查询的最简单方法是什么?例如,我必须按 param1 和 param2 过滤。其他时候,我可以从前端 param4 和 param5 获取这些字段进行过滤...

4

0 回答 0