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

vxe-table实现动态列

vxe-table实现动态列

  • 1.动态列解释
  • 2.解决步骤
    • 2.1将后端返回的动态列表头,按照格式拼接在固定列表头上
    • 2.2将后端返回的列表数据按照键值对格式组装

1.动态列解释

正常列表是有固定的列;我的需求是,最初只知道表格的固定两列,查询数据时候,后端会返回对应的动态列表头businessStationList和列表数据businessApplyInfoList
在这里插入图片描述
在这里插入图片描述

2.解决步骤

2.1将后端返回的动态列表头,按照格式拼接在固定列表头上

2.2将后端返回的列表数据按照键值对格式组装

const tableSetting_business = ref({
  showOverflow: 'tooltip',
  height: '100%',
  columns: [],
}) // 配置式表格的基础配置

// 固定的表头
let columns = ref([
    { type: 'seq', field: 'seq_key', title: '序号', width: 50 },
    { title: '网络名称', field: 'networkNameType', width: 180 },
    { title: '网络地址', field: 'networkAddress' },
    // { title: '实时网关', field: 'aaaa3' },
    // { title: '非实时网关', field: 'aaaa4' },
  ])



// 获取列表
const getList = () => {
  getThreeList({
    ...searchData.value,
  }).then(res => {
    businessStationList.value = res?.businessStationList || []  // 动态表头
    tableSetting_business.value.columns = columns.value || [] // 默认表头-避免每次拼接
    businessStationList.value.forEach(ele=>{
      ele.title = ele.stationName // 标题
      ele.field = ele.stationName // 唯一key
      ele.minWidth = 100 // 设置最小宽度
    })
    tableSetting_business.value.columns = tableSetting_business.value.columns.concat(businessStationList.value) // 合并表头
    
    tableData_business.value = res?.businessApplyInfoList || [] // 列表数据

    businessStationList.value.forEach(ele=>{
      tableData_business.value.forEach(item=>{ // 格式化数据
       let nowRow = item.businessStationList.find(item => item.stationName === ele.stationName) || {}
        item[ele.title] = nowRow?.stationValue
      })
    })
  })
}

相关文章:

  • 2025年度福建省职业院校技能大赛高职组“信息安全管理与评估”赛项规程
  • [c++]--类和对象
  • 【uniapp*vue3】app/h5 webview通讯方案
  • UE5中按钮圆角,设置边框
  • Redis使用手册
  • 使用Hardhat实现ERC20 代币合约详解
  • 通俗易懂的DOM事件模型指南
  • 数据结构:哈希表(unordered_map)
  • 1.13作业
  • 人工智能之自动驾驶技术体系
  • 大学本科教务系统设计方案,涵盖需求分析、架构设计、核心模块和技术实现要点
  • 长尾关键词优化三步法:提升SEO搜索排名实战
  • MATLAB | 设置滑动窗口计算栅格数据的CV变异系数
  • MySQL数据库表约束详解
  • 一些时间方法
  • python入门 介绍及变量的使用
  • 低代码与开发框架的一些整合[2]
  • Error: error:0308010C:digital envelope routines::unsupported
  • My Metronome for Mac v1.4.2 我的节拍器 支持M、Intel芯片
  • 【工具篇】【深度解析 DeepAI 工具:开启 AI 应用新体验】
  • 李峰已任上海青浦区委常委
  • 湃书单|澎湃新闻编辑们在读的14本书:后工作时代
  • 国防部:赖清德歪曲二战历史,背叛民族令人不齿
  • 鸿海下调全年营收展望:AI服务器业务强劲,预计今年营收增超50%
  • 当番茄霸总遇上晋江古言,短剧IP小变局
  • 重庆发布经济犯罪案件接报警电子地图,企业可查询导航属地经侦服务点