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

el-table固定表头(设置height)出现内容过多时不能滚动问题

主要原因是el-table没有div包裹

解决:加一个div并设置其高度和overflow

我自己的主要代码

    <div class="contentTable"><el-tableref="table":data="tableData"stripe@row-dblclick="onRowDblclick"height="100%"><el-table-columntype="index"align="center"label="序号"width="50"></el-table-column><el-table-columnprop="templateName"align="center"label="模板名称"width="150"></el-table-column><el-table-columnprop="mainContent"align="center"label="主要内容"></el-table-column><el-table-columnprop="devContent"align="center"label="活动措施和设备状态"></el-table-column><el-table-column prop="operate" align="center" label="操作" width="80"><template slot-scope="scope"><el-buttonsize="mini"class="delete-btn"@click="onDelete(scope.row)"title="删除"v-isLogin></el-button></template></el-table-column></el-table></div>

css代码:

.contentTable {height: calc(100% - 50px) !important;overflow: scroll;
}
.contentTable >>> .el-table__body-wrapper::-webkit-scrollbar {width: 10px;height: 8px;
}

-webkit-scrollbar用来加滚动条的!!!

页面所有代码:

<template><el-dialog:title="title":visible.sync="visible"class="template-query"@opened="openInit"append-to-bodywidth="80%"><el-form:model="form"ref="form":inline="true"style="text-align: right"size="small"><el-form-item label="模板名称:" prop="templateName"><el-inputv-model="form.templateName"maxlength="20"v-special-code></el-input></el-form-item><el-form-item><el-button type="primary" @click="onQuery">查询</el-button><el-button type="primary" @click="onReset">重置</el-button></el-form-item></el-form><div class="contentTable"><el-tableref="table":data="tableData"stripe@row-dblclick="onRowDblclick"height="100%"><el-table-columntype="index"align="center"label="序号"width="50"></el-table-column><el-table-columnprop="templateName"align="center"label="模板名称"width="150"></el-table-column><el-table-columnprop="mainContent"align="center"label="主要内容"></el-table-column><el-table-columnprop="devContent"align="center"label="活动措施和设备状态"></el-table-column><el-table-column prop="operate" align="center" label="操作" width="80"><template slot-scope="scope"><el-buttonsize="mini"class="delete-btn"@click="onDelete(scope.row)"title="删除"v-isLogin></el-button></template></el-table-column></el-table></div></el-dialog>
</template>
<script>
import { listTemplatesByType } from "@/api/template.js";
import { removeTemplate } from "@/api/template.js";
import { getBizcodeList } from "@/api/common.js";
export default {props: {templateQueryVisible: {type: Boolean,default: false,},type: {type: String,default: "",},typeName: {type: String,default: "",},},data() {return {title: "",form: {templateName: "",},headField: [], //表头信息tableData: [], //表格数据};},computed: {visible: {get() {return this.templateQueryVisible;},set(val) {this.$emit("update:templateQueryVisible", val);},},},mounted() {},methods: {//打开窗口初始化openInit() {this.title = this.typeName + "模板管理";this.form.templateName = "";//根据type查询表头信息// listGridHeadByType({ type: this.type }).then(async (res) => {//   var headFieldList = JSON.parse(res.data.data);//   for (var i = 0; i < headFieldList.length; i++) {//     if ("codeType" in headFieldList[i]) {//       await getBizcodeList(headFieldList[i].codeType).then((res) => {//         headFieldList[i]["codeList"] = res.data.data;//       });//     }//   }//   this.headField = headFieldList;// });//查询模板数据this.onQuery();},//删除onDelete(row) {var that = this;this.$confirm("确定删除该模板?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning",}).then(() => {removeTemplate(row.id).then((res) => {if (res.data.code == "1") {that.$message({type: "success",message: "删除模板成功!",});that.onQuery();} else {that.$message({type: "error",message: "保存模板失败!",});}});});},//双击行加载模板数据onRowDblclick(row) {if (row.id) {delete row.id;}if (row.ID) {delete row.ID;}this.$emit("loadTemplateData", row);},//查询onQuery() {//根据type查询模板数据listTemplatesByType({type: this.type,name: this.form.templateName,}).then((res) => {var resData = res.data.data;var tableData = [];console.log(resData);if (resData) {for (var i = 0; i < resData.length; i++) {var content = JSON.parse(resData[i].content);let res = {id: resData[i].id,templateName: resData[i].name,mainContent: content.mainContent,devContent: content.devContent,};tableData.push(res);}this.tableData = tableData;} else {this.tableData = [];}});},//重置onReset() {if (this.$refs.form) {this.$refs.form.resetFields();this.onQuery();}},//渲染表格列itemFormatter(cellValue, codeList) {if (codeList && cellValue) {// return this.$common.renderCodeId(cellValue, codeList);return this.$common.renderCode(cellValue, "ID", "TEXT", codeList);} else {return cellValue;}},},
};
</script>
<style scoped>
.template-query >>> .el-dialog__body {height: 600px;
}.template-query >>> .el-form-item__label {width: 85px !important;
}.delete-btn {background-image: url("~@/assets/imgs/delete.png");width: 23px;height: 23px;padding-left: 5px;cursor: pointer;background-repeat: no-repeat;
}
.contentTable {height: calc(100% - 50px) !important;overflow: scroll;
}
.contentTable >>> .el-table__body-wrapper::-webkit-scrollbar {width: 10px;height: 8px;
}
</style>

http://www.lryc.cn/news/234004.html

相关文章:

  • 从流程优化到经营提效,法大大电子签全面助力智慧零售升级
  • Jquery 通过class名称属性,匹配元素
  • 复杂数据统计与R语言程序设计实验二
  • python3:print()打印. 2023-11-18
  • ARM 版 Kylin V10 部署 KubeSphere 3.4.0 不完全指南
  • 二元分类模型评估方法
  • 专业数据标注公司:景联文科技领航数据标注行业,满足大模型时代新需求
  • .Net8 Blazor 尝鲜
  • Vue.js 页面加载时触发函数
  • Go 语言常用数据结构
  • 【数据结构】图的简介(图的逻辑结构)
  • 2342.数位和相等数对的最大和
  • 关于Spring Bean的一些总结
  • 6.2 List和Set接口
  • 2023数维杯国际赛数学建模D题完整论文分享!
  • golang中context使用总结
  • 医院数字化LIS(检验信息系统)源码
  • 挑战单芯片NOA,这款“All in one”方案或将改变主流市场走向
  • CODING DevOps产品认证笔记
  • 信息系统项目管理师 第四版 第5章 信息系统工程
  • 对话芯动科技 | 助力云游戏 4K级服务器显卡的探索与创新
  • [HTML]Web前端开发技术1,meta,HBuilder等——喵喵画网页
  • 网上申请的电信卡能用多长时间?可以长期使用吗?
  • 交换机的工作原理
  • 如何使用ArcGIS Pro制作粉饰效果
  • CSS滚动捕获 scroll-snap-align
  • 基础课8——中文分词
  • OpenHarmony应用开发入门教程(一、开篇)
  • vue侦听器详解及代码
  • Python爬虫的七个常用技巧总结,这些你一定得知道!