Skip to content

表格组件(vxe-table)获取表格数据

在使用表格组件vxe-table的过程中,如果需要获取当前表格数据,可以调用表格组件getTableData方法,getTableData方法返回值如下。

  • fullData:表示完整的表格数据,包括所有行数据,以数组的形式存储。
  • visibleData:表示当前可见的表格数据,即当前页的数据,以数组的形式存储。
  • tableData:表示当前表格中的数据,与 visibleData 相同,以数组的形式存储。
  • footerData:表示表格底部汇总行的数据,以对象的形式存储。该对象的属性名对应列的字段名,属性值为底部汇总行对应列的值。

代码示例:

javascript
<!-- 下级报表管理审核-内容区域-数据一致性检查-按单位 -->
<template>
  <!-- 表格区域 -->
  <div class="pfs-gfa-audit-manage-content-acc-check-agency">
    <vxe-table ref="table" :data="tableData" size="mini" resizable border round :height="tableHeight" row-class-name="poi" :header-cell-style="TABLE_HEADER_CELL_STYLE" :cell-style="TABLE_CELL_STYLE" highlight-current-row :scroll-y="{enabled: true}" auto-resize :show-overflow="true">
      <vxe-table-column header-align="center" align="center" width="50">
      </vxe-table-column>
      <vxe-table-column field="reportCode" title="报表标识" width="120" header-align="center" align="left">
      </vxe-table-column>
      <vxe-table-column field="reportName" title="报表名称" header-align="center" align="left" width="200">
      </vxe-table-column>
      <vxe-table-column field="expFuncName" title="支出功能分类" header-align="center" align="left" width="200">
        <template v-slot:default="scope">
          {{scope.row.expFuncCode}} {{scope.row.expFuncName}}
        </template>
      </vxe-table-column>
      <vxe-table-column field="reportItemName" title="报表项目" header-align="center" align="left" width="170"></vxe-table-column>
      <vxe-table-column field="reportAmt" title="报表金额" header-align="center" align="right" width="150">
        <template v-slot="{row}">{{row.reportAmt | formatCurrency }}</template>
      </vxe-table-column>
    </vxe-table>
  </div>
</template>
<script>
import { TABLE_HEADER_CELL_STYLE, TABLE_CELL_STYLE } from '@/mixin/page';

export default {
  data() {
    return {
      tableData: [], //表格数据
      tableHeight: 500,	//表格高度
      TABLE_HEADER_CELL_STYLE,
      TABLE_CELL_STYLE,
    };
  },
  methods: {
    /**
     * 获取当前表格数据
     */
    getTableData() {
      let { fullData, visibleData, tableData, footerData } = this.$refs.table.getTableData();
      console.log('fullData', fullData);
      console.log('visibleData', visibleData);
      console.log('tableData', tableData);
      console.log('footerData', footerData);
    }
  },
  mounted() {
    this.getTableData();
  },
};
</script>
<style lang="scss" scoped>
@import '~@/assets/style/variables.scss';
.pfs-gfa-audit-manage-content-acc-check-agency {
  height: 100%;
}
</style>