You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何控制Angular中多个table表格的自定义显示顺序

实现方案

核心思路

把固定写死的三个表格抽象成可配置的列表,通过调整列表的元素顺序动态控制表格渲染顺序,不用写重复的表格代码,也支持任意自定义顺序切换。

具体实现步骤

  • 第一步:在组件TS中定义表格配置项,把每个表格的标识、类名、对应数据源都封装成配置对象,存到数组中,数组的初始顺序就是默认的表格显示顺序
// 组件类中定义配置
tableConfig = [
  { id: 'table1', className: 'table1', dataSource: this.datasource1 },
  { id: 'table2', className: 'table2', dataSource: this.datasource2 },
  { id: 'table3', className: 'table3', dataSource: this.datasource3 }
]
  • 第二步:改写模板代码,删掉原来写死的三个table,只用一段代码动态遍历配置数组渲染表格
<ng-container *ngFor="let config of tableConfig">
  <table [class]="config.className">
     ...
     <tbody>
        <tr *ngFor="let data of config.dataSource">
        ...
        </tr>
     </tbody>
  </table>
</ng-container>
  • 第三步:需要切换顺序的时候,直接调整tableConfig数组的元素顺序即可,比如要切换为table3、table1、table2的顺序,直接修改数组即可
// 切换为自定义顺序的方法示例
changeTableOrder() {
  this.tableConfig = [
    { id: 'table3', className: 'table3', dataSource: this.datasource3 },
    { id: 'table1', className: 'table1', dataSource: this.datasource1 },
    { id: 'table2', className: 'table2', dataSource: this.datasource2 }
  ]
  // 也可以通过数组sort、splice等方法实现更灵活的顺序调整,比如拖拽排序后直接更新数组即可
}

扩展说明

如果需要支持用户拖拽调整顺序,对接拖拽组件后直接将拖拽后的顺序同步到tableConfig数组即可,不需要修改其他渲染逻辑。

内容的提问来源于stack exchange,提问作者Invader

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:27:00