当前位置: 首页 > article >正文

vxe-vxe-colgroup后端返回数据 对数据进行处理 动态合并分组表头(v-if控制表格渲染(数据请求完成后渲染))

1.html vxe-colgroup循环合并数据;v-if控制表格渲染(数据请求完成后渲染)
<template>
  <vxe-table v-if="isTableReady" :data="tableData">
    <vxe-colgroup title="基本信息">
      <template v-for="(column, index) in dynamicColumns">
        <vxe-column
          :key="index"
          :field="column.field"
          :title="column.title"
          :width="column.width"
        ></vxe-column>
      </template>
    </vxe-colgroup>
    <vxe-colgroup title="详细信息">
      <template v-for="(column, index) in dynamicColumns">
        <vxe-column
          :key="index"
          :field="column.field"
          :title="column.title"
          :width="column.width"
        ></vxe-column>
      </template>
    </vxe-colgroup>
  </vxe-table>
</template>
 2.script 设表格渲染标识isTableReady 请求数据前false 请求后true

        使用 v-if="isTableReady" 来控制 vxe-table 的渲染,获取新数据后,将 isTableReady 设置为 true,以渲染 vxe-table。只有在数据请求返回后,vxe-table 才会被渲染,从而避免了在数据请求返回前渲染 vxe-table 导致的问题。

        每次请求前数据进行清空处理,避免数据一直累加。

<script>
import 'vxe-table/lib/style.css';
import { VxeTable, VxeColumn, VxeColgroup } from 'vxe-table';
import axios from 'axios';

export default {
  components: {
    VxeTable,
    VxeColumn,
    VxeColgroup
  },
  data() {
    return {
      tableData: [],
      dynamicColumns: [],
      isTableReady: false
    };
  },
  activated() {
    //每次设为false请求完数据后设为true,表格重新渲染
    this.isTableReady=false;
    this.fetchColumns();
  },
  methods: {
    fetchColumns() {
      axios.get('/api/columns') // 替换为你的后端 API 地址
        .then(response => {、
                    //数据清空
                    this.dynamicColumns=[];
                    this.allCostTypeList= response.data;
                    //数据处理
                    this.allCostTypeList.forEach(item => {
                        const newColumn = {
                            title: item.name,
                            field: item.value
                        }
                        this.dynamicColumns.push(newColumn)
                    })
        })
        .catch(error => {
          console.error('Error fetching columns:', error);
        });
    }
  }
};
</script>

<style>
/* 你可以在这里添加自定义样式 */
</style>


http://www.kler.cn/a/395398.html

相关文章:

  • 【NLP】医学搜索Query相关性判断【阿里云:天池比赛】
  • 接口文档的定义
  • uni-app表格带分页,后端处理过每页显示多少条
  • 【学习日记】notebook添加JAVA支持
  • 「QT」窗口类 之 QWidget 窗口基类
  • 离线 快速搭建 docker docker-compose k8s 环境
  • 动态规划技巧点
  • C# 教程总结概括
  • Flink中自定义Source和Sink的使用
  • LeetCode297.二叉树的序列化和反序列化
  • 计算机网络前三章计算题总结
  • C++基础:Pimpl设计模式的实现
  • 【Pikachu】目录遍历实战
  • 论文解析:计算能力资源的可信共享:利益驱动的异构网络服务提供机制
  • 群控系统服务端开发模式-应用开发-前端角色功能开发
  • 解决Oracle DECODE函数字符串截断问题的深度剖析20241113
  • Ubuntu相关指令
  • 数据结构Python版
  • sqoop import将Oracle数据加载至hive,数据量变少,只能导入一个mapper的数据量
  • 【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词
  • 【Git从入门到精通】——Git分支介绍与GitHub相关知识总结
  • Spring Boot与工程认证:计算机课程管理的新纪元
  • Spring Boot框架:电商系统的设计与实现
  • 037 RabbitMQ集群
  • 【Linux】多线程(中)
  • 电子电气架构 --- 基于以太网的电子电气架构概述