动手:表格筛选与排序
你要做什么
一个数据表格,支持按列排序、搜索过滤、分页。
⏱️ 20 分钟 | 🛠️ Vue 3
跟着做
帮我做一个数据表格组件(Vue 3),数据是用户列表:
1. 列:姓名、邮箱、角色、注册日期
2. 点击列头可以升序/降序排序,显示排序箭头
3. 顶部搜索框,输入时实时过滤所有列
4. 每页显示 5 条,底部有分页按钮
5. 20 条模拟数据,包含 admin/editor/viewer 三种角色
6. 角色列用不同颜色的标签显示
7. 样式简洁,参考 Ant Design 的表格风格
理解排序逻辑
const sorted = computed(() =>
[...data].sort((a, b) => {
if (sortDir === 'asc') return a[sortKey] > b[sortKey] ? 1 : -1;
return a[sortKey] < b[sortKey] ? 1 : -1;
})
);
排序就是比较两个值的大小,决定谁在前谁在后。
🎯 进阶挑战
- 加上多条件排序
- Excel 导出功能
- 数据从后端 API 分页加载
✅ 你做到了
- 掌握了表格排序、搜索、分页
- 理解了 computed 的数据处理
- 做了一个可以复用的表格组件