要动态添加<el-table-column>,你可以使用v-for指令来遍历一个数组,并根据数组的内容动态生成<el-table-column>

首先,在你的Vue组件中定义一个数组,例如columns,用来存储要动态添加的列信息。每个数组元素都包含要展示的列的一些属性,例如prop(对应表格数据的字段名)、label(列的标题)等。

然后,你可以在模板中使用v-for指令来遍历columns数组,并根据数组元素的内容动态生成<el-table-column>

以下是一个示例:

<template>
  <div>
    <el-table :data="tableData">
      <el-table-column
        v-for="column in columns"
        :key="column.prop"
        :prop="column.prop"
        :label="column.label"
        :sortable="column.sortable"
      ></el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'John', age: 20 },
        { id: 2, name: 'Jane', age: 25 },
        { id: 3, name: 'Bob', age: 30 }
      ],
      columns: [
        { prop: 'id', label: 'ID', sortable: true },
        { prop: 'name', label: 'Name', sortable: false },
        { prop: 'age', label: 'Age', sortable: true }
      ]
    }
  }
}
</script>

在上述示例中,columns数组定义了3列,分别对应表格数据的idnameage字段。v-for指令会根据columns数组的内容动态生成3个<el-table-column>。每个<el-table-column>的属性值都来自于对应数组元素的属性。

你可以根据自己的需求修改columns数组的内容,以添加或删除列


原文地址: https://www.cveoy.top/t/topic/ixbf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录