You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot+Ext JS下拉框仅显示20条数据排查求助

问题排查与解决方案

针对你遇到的下拉框仅显示20条数据(SQL带limit)的问题,从Spring Boot和Ext JS两端分别排查:

Spring Boot端排查

  1. 检查Spring Data JPA自动扫描规则
    即使注释了@Repository,只要DeptCategory接口继承了JpaRepository,且处于@EnableJpaRepositories的扫描包路径下,Spring Data仍会自动为其生成代理实例并处理请求。可以:

    • 确认启动类的@EnableJpaRepositories注解的basePackages是否包含该接口所在包
    • 临时将该接口移到扫描路径外,验证是否还会生成带limit的SQL
  2. 全局分页配置检查
    查看application.properties/application.yml中是否存在默认分页配置:

    spring.data.jpa.repositories.default-page-size=20
    

    如果有,直接修改为需要的数值(比如21)或者删除该配置。

  3. 父类/切面拦截检查
    检查BaseJpaRepository是否封装了默认分页逻辑,或项目中是否存在AOP切面,对所有JPA查询方法自动添加分页参数。

Ext JS端排查(重点)

Ext JS的下拉框(ComboBox)或其绑定的Store默认会启用分页,默认pageSize为20,会自动向后端发送limit参数,Spring Boot接收到后会自动触发分页查询:

  1. 检查Store的分页配置
    找到下拉框绑定的Store代码,查看是否设置了pageSize:

    Ext.define('MyApp.store.CategoryStore', {
        extend: 'Ext.data.Store',
        pageSize: 20, // 这里可能是问题根源,修改为21或设为0禁用分页
        proxy: {
            type: 'ajax',
            url: '/api/categories',
            reader: {
                type: 'json',
                rootProperty: 'items'
            }
        }
    });
    
  2. 检查请求参数
    打开浏览器开发者工具的Network面板,查看下拉框加载数据的请求,确认是否携带了limit=20的参数。如果是,说明分页逻辑由前端触发,修改Store的pageSize即可解决。

  3. 下拉框的分页属性
    部分版本的Ext JSComboBox会自动启用分页,可显式关闭:

    Ext.create('Ext.form.field.ComboBox', {
        store: categoryStore,
        queryMode: 'local', // 如果数据量小,可改为本地查询避免分页
        // 或显式配置分页相关属性
        pageSize: 21
    });
    

内容的提问来源于stack exchange,提问作者JNRaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:17:07