如何在AdminJS/AdminBro中为指定资源自定义配置分页功能
AdminJS 资源分页配置步骤及完整示例
配置步骤
- 定位到你需要修改分页配置的目标资源的定义代码段
- 在该资源的
options配置项下新增pagination子节点 - 根据业务需求填写分页参数,常用可配置参数如下:
perPage:资源列表默认每页展示的条数,官方默认值为10limit:前端可选的每页最大展示条数,官方默认值为500disabled:布尔值,设为true时可禁用该资源的分页,列表页将一次性展示所有数据
完整配置示例
const AdminJS = require('adminjs') const AdminJSExpress = require('@adminjs/express') // 以下为TypeORM适配器示例,使用其他适配器(如Mongoose、Sequelize)写法逻辑一致 const { Database, Resource } = require('@adminjs/typeorm') const { User } = require('./user/entity') // 替换为你的目标业务实体 const { Post } = require('./post/entity') const { Category } = require('./category/entity') AdminJS.registerAdapter({ Database, Resource }) const adminJsOptions = { resources: [ { // 绑定目标资源 resource: User, options: { // 该配置仅对当前User资源生效 pagination: { perPage: 15, limit: 100 }, // 其他原有资源配置保持不变 properties: { id: { isVisible: false } } } }, // 其余无特殊分页需求的资源按原有方式引入即可,默认走全局分页规则 { resource: Post }, { resource: Category } ], // 可选:全局分页配置,对所有未单独配置分页的资源生效,优先级低于单资源分页配置 pagination: { perPage: 20, limit: 200 } } // 初始化AdminJS实例 const admin = new AdminJS(adminJsOptions) const adminRouter = AdminJSExpress.buildRouter(admin)
配置优先级说明:单资源的分页配置优先级高于全局分页配置,仅需修改单资源分页时不需要调整全局配置。
内容的提问来源于stack exchange,提问作者Meiyappan Kannappa
相关产品推荐
相关产品推荐

