新闻详情

新闻详情

首页 / 资讯中心 / 详情

ng-table排序功能完全指南:一键切换排序方向+API编程式控制排序

发布时间:2026/10/1 19:55:04来源:尧图网络
ng-table排序功能完全指南:一键切换排序方向+API编程式控制排序
ng-table排序功能完全指南一键切换排序方向API编程式控制排序【免费下载链接】ng-tableSimple table with sorting and filtering on AngularJS项目地址: https://gitcode.com/gh_mirrors/ng/ng-tableng-table是 AngularJS 生态中经典的表格增强库核心能力就是让普通 HTML 表格一键拥有排序、筛选、分页和分组。本文带你快速上手 ng-table 的排序功能从表头点击切换升/降序到用 API 编程式控制排序方向并覆盖多列排序、默认方向配置等进阶技巧。1. 一分钟开启排序sortable 属性ng-table 采用声明式风格——在td上加一个sortable属性该列即可点击排序ng-table classtable table-condensed columnscolumns datarows td>const defaultSort this.$scope.params.settings().defaultSort; const inverseSort: SortDirection (defaultSort asc ? desc : asc); // 再次点击同一列 → 切换到反方向 sortingParams[parsedSortable] (sorting ? inverseSort : defaultSort); this.$scope.params.parameters({ sorting: sortingParams });源码位置ngTableSorterRowController.ts表头还会根据当前排序状态自动添加sort-asc/sort-desc类名配合 ng-table.scss 中的样式展示箭头指示器模板见 sorterRow.html。️ 技巧按住 Ctrl / Cmd 实现多列排序点击表头时按住 Ctrl或 Mac 上的 Cmd键ng-table 会保留其他列的排序状态只修改当前列的方向从而组成多列排序组合。这是阅读 ngTableSorterRowController.ts 中ctrlKey || metaKey判断逻辑得到的实用技巧。3. API 编程式控制排序params.sorting()除了用户点击你还可以在代码中完全掌控排序。NgTableParams提供了sorting方法支持三种调用方式ngTableParams.ts调用方式作用params.sorting()读取当前排序对象如{ name: asc }params.sorting(age, desc)按指定字段方向排序会替换旧排序params.sorting({ a: asc, b: desc })一次设置多列排序组合排序值类型定义为SortDirection asc | desc和SortingValues见 sorting/index.ts。// 初始化时即按 age 降序 var params new NgTableParams({ sorting: { age: desc } }, { dataset: rows }); // 按钮事件中动态改排序 scope.setAscName function () { scope.params.sorting(name, asc); };判断与联动isSorting() 和 orderBy 格式params.isSorting(age, asc)判断当前是否按指定字段方向排序适合给按钮打已激活状态ngTableParams.tsparams.sortingForOrderBy()把 ng-table 排序值转成 Angular$orderBy过滤可直接消费的格式ngTableParams.ts。4. 修改默认排序方向 defaultSort表头第一次被点击时的方向由defaultSort设置项决定默认值是desc/** * The default sort direction that will be used whenever a sorting is supplied * that does not define its own sort direction */ defaultSort: SortDirection desc;源码见 ngTableSettings.ts。想让表格默认点击即升序var params new NgTableParams({ sorting: { name: asc } }, { dataset: rows, defaultSort: asc });5. 排序在数据加载中的位置排序变化会标记isDataReloadRequired为 true触发getData重新取数——本地数据由内置管道直接排序服务端分页场景则应把sorting参数带到后端 SQL 的ORDER BY中参数序列化逻辑见 ngTableParams.ts。6. 常见问题速查 某列点击无反应确认sortable值是字符串字段名而非false且该列show()返回 true箭头样式不对sortingIndicator支持span/div两种指示器形态sorterRow.html排序值被意外清空sorting()的 setter 语义是整体替换多列排序请先读取旧值再合并或直接用 Ctrl点击表头。7. 动手练手官方排序示例仓库自带三个循序渐进的演示页面按顺序看即可demo-enabling.html —— 开启/禁用列排序demo-sorting-basic.html —— 基础点击排序demo-api.html —— 用 API 编程式切换排序。配合 README.md 中的表格用法总览你已可覆盖绝大多数 ng-table 排序场景。想要更进一步服务端排序、自定义比较函数可继续阅读 interceptor.ts 与 ngTableDefaultGetData.ts 了解数据管道全貌。【免费下载链接】ng-tableSimple table with sorting and filtering on AngularJS项目地址: https://gitcode.com/gh_mirrors/ng/ng-table创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Windows磁盘报错排查:从HarddiskN日志定位物理硬盘的实战方法 2026/10/1 20:40:02

Windows磁盘报错排查:从HarddiskN日志定位物理硬盘的实战方法

1. 从一次深夜告警说起:磁盘报错到底在报什么凌晨两点,监控大屏上跳出一行红字:The driver detected a controller error on \Device\Harddisk2\DR2。运维群里瞬间炸锅,有人喊"是不是阵列卡挂了",有人猜&quo…

阅读更多 →
汽车电子产业链图谱:从虚线连接到实测数据的产业血压计 2026/10/1 20:40:02

汽车电子产业链图谱:从虚线连接到实测数据的产业血压计

1. 这张图谱不是“技术树”,而是汽车电子产业的“血管解剖图”你点开过多少份“汽车电子产业链图谱”?PDF里密密麻麻的方块、箭头、层级,像一张被强行拉平的电路板——芯片在最底下,整车在最顶上,中间堆着几十个“模组…

阅读更多 →
eggjs 报错 Warning: Current Server Discovery and Monitoring engine is deprecated 怎么处理?TaoToken 统一 Key 2026/10/1 20:39:55

eggjs 报错 Warning: Current Server Discovery and Monitoring engine is deprecated 怎么处理?TaoToken 统一 Key

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
不改 Agent 主程序,用 SKILL.md 给 AI 编程助手加 pytest 技能:TaoToken 统一 Key 接入实践 2026/10/1 20:39:55

不改 Agent 主程序,用 SKILL.md 给 AI 编程助手加 pytest 技能:TaoToken 统一 Key 接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Agent Skill 设计结构全攻略:从 SKILL.md 到数据库迁移案例,配 TaoToken 统一 Key 实战 2026/10/1 20:39:55

Agent Skill 设计结构全攻略:从 SKILL.md 到数据库迁移案例,配 TaoToken 统一 Key 实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
深入理解Redis Lua脚本:原子性、限流与分布式锁实战 2026/10/1 20:39:55

深入理解Redis Lua脚本:原子性、限流与分布式锁实战

第一次把Lua脚本塞进Redis,是因为线上一个限流接口在高峰期被同事追问“为什么统计出来就过了限流”。当时我的第一反应就是去查INCR和EXPIRE是不是分开发送的。果然,两步操作在并发底下错开了执行窗口——一个请求INCR后还没EXPIRE,另一个请…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉