在配置了 el-table 组件的合计行后,由于elementUI 表格el-table设置高度之后,合计行功能不会显示

问题

在配置了 el-table 组件的合计行后,由于elementUI 表格el-table设置高度之后,合计行功能不会显示

解决方法:

  1. 根据调试,发现该问题应该属于组件bug,表格主体中给 footer留的高度不够导致,重新设置即可。
  2. 添加生命周期钩子 updated ,对 table 组件重新布局即可解决问题。具体如下:

Vue 文件配置演示:

javascript 复制代码
<el-table
  show-summary
  ref="table"
  :data="dataList"
  :height="tableHeight"
  :summary-method="getSummaries"
>

测试数据 dataList 自行配置:

javascript 复制代码
export default {
	data() {
	return {
		dataList: [],
		tableHeight: "400px"
		}
	},
  updated() {
  	 this.$nextTick(() => {
       	this.$refs.table.doLayout()
    	})
	}
  methods: {

	getSummaries(param) {
      const { columns, data } = param;
      console.log("--------------------- column ",columns)
      console.log("--------------------- data ",data)	
      const sums = [];
      columns.forEach((column, index) => {
          if (index === 0) {
            sums[index] = '总价';
            return;
          }
          const values = data.map(item => Number(item[column.property]));
          if (!values.every(value => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = Number(curr);
              if (!isNaN(value)) {
                return prev + curr;
              } else {
                return prev;
              }
            }, 0);
            sums[index] += ' 元';
          } else {
            sums[index] = 'N/A';
          }
        });

        return sums;
      }
 }
}

参考链接:

1. 解决elementUI 表格el-table设置高度之后合计行不显示

2. vue的updated用法

3. Table 表格

相关推荐
旧曲重听14 分钟前
前端需要掌握多少Node.js?
前端·node.js
Mr.Jessy4 分钟前
Web APIs 学习第四天:DOM事件进阶
开发语言·前端·javascript·学习·ecmascript
云枫晖7 分钟前
前端工程化实战:手把手教你构建项目脚手架
前端·前端工程化
醉方休9 分钟前
开发一个完整的Electron应用程序
前端·javascript·electron
故作春风15 分钟前
手把手实现一个前端 AI 编程助手:从 MCP 思想到 VS Code 插件实战
前端·人工智能
不会算法的小灰22 分钟前
Vue.js 基础教程:从入门到实践
前端·javascript·vue.js
掘金一周26 分钟前
没开玩笑,全框架支持的 dialog 组件,支持响应式| 掘金一周 11.6
前端·人工智能
拉不动的猪39 分钟前
浏览器&Websocket&热更新
前端·javascript·vue.js
Never_Satisfied1 小时前
在JavaScript中,将包含HTML实体字符的字符串转换为普通字符
开发语言·javascript·html
im_AMBER1 小时前
React 12
前端·javascript·笔记·学习·react.js·前端框架