Advertisement

vue antdesgin table 动态表头动态数据示例

阅读量:

以下是一个利用 Vue 技术开发的 Ant Design Vue 范例代码段落,能够实现表头与数据内容的动态自动生成。

复制代码
  
    
 <template>
    
   <div>
    
     <a-button @click="addColumn">添加列</a-button>
    
     <a-table :columns="columns" :dataSource="dataSource"></a-table>
    
   </div>
    
 </template>
    
 <script>
    
 export default {
    
   data() {
    
     return {
    
       columns: [
    
     {
    
       title: '姓名',
    
       dataIndex: 'name',
    
       key: 'name'
    
     },
    
     {
    
       title: '年龄',
    
       dataIndex: 'age',
    
       key: 'age'
    
     }
    
       ],
    
       dataSource: [
    
     {
    
       name: '张三',
    
       age: 25
    
     },
    
     {
    
       name: '李四',
    
       age: 28
    
     }
    
       ]
    
     }
    
   },
    
   methods: {
    
     addColumn() {
    
       const newColumn = {
    
     title: `列 ${this.columns.length + 1}`, // 动态生成列名
    
     dataIndex: `col_${this.columns.length + 1}`, // 动态生成列的数据键名
    
     key: `col_${this.columns.length + 1}`
    
       }
    
       this.columns.push(newColumn)
    
       // 随机生成一条数据,对应新增的列
    
       const newData = {
    
     name: `用户 ${this.dataSource.length + 1}`,
    
     age: Math.floor(Math.random() * 20) + 20,
    
     [`col_${this.columns.length}`]: Math.floor(Math.random() * 100) + 1 // 对应新增的列的值
    
       }
    
       this.dataSource.push(newData)
    
     }
    
   }
    
 }
    
 </script>
    
    
    
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-19/TDgj0SLlPmqiyMYCU2xG6AbdXp8J.png)

在本例中,在使用 addColumn 方法进行动态增列的过程中,在每次插入操作时都会自动生成一个新的表头名称以及对应的键名,并将该新列追加至表头区域。与此同时,在新增这一新维度的同时随后随即生成一条新的数据记录,并与新增的各列对应地赋值数值。从而达到了既自动调整表头结构又能够实时更新数据的目的。

全部评论 (0)

还没有任何评论哟~