el-table表头前几列固定,后面几列根据接口返回的值不同展示不同

embedded/2024/11/24 0:13:13/

在使用 Element UIel-table 组件时,如果想要实现表头的前几列固定,而后面的列根据接口返回的数据动态展示,可以通过以下步骤来实现:

1. 固定表头前几列

el-table-column 中使用 fixed 属性来固定表头的前几列。例如,如果你想要固定前两列,可以这样做:

<el-table :data="tableData" style="width: 100%"><el-table-column prop="date" label="日期" width="150" fixed></el-table-column><el-table-column prop="name" label="姓名" width="200" fixed></el-table-column><!-- 动态列将从这里开始 -->
</el-table>

2. 动态生成表头

为了根据后端返回的数据动态生成表头,你需要在获取到数据之后处理这些数据,然后动态地渲染 el-table-column

假设你的后端返回的数据结构如下:

{"columns": [{ "prop": "address", "label": "地址" },{ "prop": "phone", "label": "电话" },// 更多列...],"rows": [{ "date": "2016-05-02", "name": "王小虎", "address": "上海市普陀区金沙江路 1518 弄", "phone": "12345678901" },// 更多行...]
}

你可以这样处理并渲染:

javascript">export default {data() {return {tableData: [],dynamicColumns: []};},methods: {async fetchData() {const response = await this.$axios.get('/api/data'); // 假设这是你的API请求this.dynamicColumns = response.data.columns;this.tableData = response.data.rows;}},mounted() {this.fetchData();}
};

3. 使用 v-for 渲染动态列

在模板中使用 v-for 指令来遍历 dynamicColumns 数组,从而动态生成 el-table-column

<el-table :data="tableData" style="width: 100%"><el-table-column prop="date" label="日期" width="150" fixed></el-table-column><el-table-column prop="name" label="姓名" width="200" fixed></el-table-column><el-table-columnv-for="column in dynamicColumns":key="column.prop":prop="column.prop":label="column.label":width="200"></el-table-column>
</el-table>

4. 注意事项

  • 确保 dynamicColumns 中的每个对象都有 proplabel 属性,这对应于 el-table-columnproplabel 属性。
  • 如果需要对动态生成的列进行排序或其他操作,可以在 fetchData 方法中进一步处理 dynamicColumns
  • 动态列的宽度可以根据实际需求调整,上面的例子中设置为固定的200像素宽。

通过上述步骤,你就可以实现一个具有固定前几列且能够根据后端数据动态显示剩余列的表格了。


http://www.ppmy.cn/embedded/139978.html

相关文章

深度学习之目标检测的技巧汇总

1 Data Augmentation 介绍一篇发表在Big Data上的数据增强相关的文献综述。 Introduction 数据增强与过拟合 验证是否过拟合的方法&#xff1a;画出loss曲线&#xff0c;如果训练集loss持续减小但是验证集loss增大&#xff0c;就说明是过拟合了。 数据增强目的 通过数据增强…

【MySQL】避免执行SQl文件后自动转化表名为小写字母

在云端的MySQL数据库中有一部分表名为大写&#xff0c;导出sql文件其中表名也是大写&#xff0c;但是本地新建一个数据库后执行sql文件后对应的表名全部变成了小写。 解决方案&#xff1a; 因为MySQL在默认情况下会将表名转换为小写。可以通过修改MySQL配置文件中的lower_case…

机器学习周志华学习笔记-第3章<线性模型>

机器学习周志华学习笔记-第3章<线性模型> 3线性模型 意义&#xff1a;线性模型是机器学习中的基础模型&#xff0c;它通过属性的线性组合来进行预测。这种模型形式简单&#xff0c;易于理解和建模&#xff0c;并且具有良好的可解释性。原理&#xff1a;线性模型的基本形…

力扣 LeetCode 617. 合并二叉树(Day9:二叉树)

解题思路&#xff1a; 前序遍历 中左右&#xff0c;先有中间节点&#xff0c;才有左右节点 可以在原tree1的基础上操作&#xff0c;也可以重新定义一个新的树 class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if (root1 null) return root2…

elementui表格鼠标滑过不改变背景色——el-table背景色

elementui表格鼠标滑过不改变背景色 在Element UI中&#xff0c;要实现表格鼠标滑过时不改变背景色&#xff0c;可以通过CSS覆盖默认的样式。 以下是实现这一功能的CSS代码示例&#xff1a; /* 覆盖表格行鼠标滑过的背景色 */ .el-table .el-table__body tr:hover > td {…

华为IPD流程管理体系L1至L5最佳实践-解读

该文档主要介绍了华为IPD流程管理体系&#xff0c;包括流程体系架构、流程框架实施方法、各业务流程框架示例以及相关案例等内容&#xff0c;旨在帮助企业建立高效、规范的流程管理体系&#xff0c;实现业务的持续优化和发展。具体内容如下&#xff1a; 1. 华为流程体系概述 -…

Dockerfile复制目录进入镜像里

使用 ADD 复制目录进入镜像里 FROM ubuntu:22.04WORKDIR /rootRUN mkdir -p ./custom_nodes/ComfyUI-FluxTrainerADD ComfyUI-FluxTrainer ./custom_nodes/ComfyUI-FluxTrainerComfyUI-FluxTrainer 是一个目录&#xff0c;需要先 mkdir 创建这个目录&#xff0c;然后ADD 复制进…

一、Docker 安装集

一、Docker CentOS https://docs.docker.com/engine/install/centos/ 在 CentOS 上安装 Docker Engine # Docker要求CentOS系统的内核版本高于3.10&#xff1a;# Docker从1.13版本之后&#xff0c;采用时间线的方式作为版本号&#xff1a; 1. 分为社区版CE和企业版EE。 2. 社…