分页组件实现

实现数据分页功能

提示词

请实现数据分页功能:

需求:
- 前端:[React/Vue等]分页组件
- 后端:[Node.js/Python等]分页API
- 每页条数:可切换(10/20/50)
- 显示:总数、当前页、跳转
- 支持:排序、筛选

要求:
1. 后端分页查询(游标/offset两种方案对比)
2. 前端分页组件UI
3. URL参数同步(可分享)
4. 加载状态
5. 边界处理(空数据、最后一页)

示例输出

后端API(offset分页):

app.get('/api/items', async (req, res) => {
  const page = parseInt(req.query.page) || 1;
  const pageSize = parseInt(req.query.pageSize) || 20;
  const sortBy = req.query.sortBy || 'createdAt';
  const order = req.query.order || 'desc';
  
  const [items, total] = await Promise.all([
    Item.findAll({
      order: [[sortBy, order]],
      offset: (page - 1) * pageSize,
      limit: pageSize,
    }),
    Item.count()
  ]);
  
  res.json({
    data: items,
    pagination: {
      page,
      pageSize,
      total,
      totalPages: Math.ceil(total / pageSize),
      hasMore: page * pageSize < total
    }
  });
});
0

评论 0

更多

登录后可点赞、收藏、评论和举报。

还没有评论,先发起一个具体问题。