分页组件实现
实现数据分页功能
提示词
请实现数据分页功能:
需求:
- 前端:[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
更多
登录后可点赞、收藏、评论和举报。
还没有评论,先发起一个具体问题。