vue给table组件添加合计

简介: vue给table组件添加合计

在 Vue 3 中,你可以使用 v-on:click 事件监听器来处理点击事件,并将数据添加到表格的第一行。假设你正在使用 Element UI 的表格组件,并且你想要在点击事件中添加一个合计行,你可以按照以下方式进行:

<template>  
  <div>  
    <el-table :data="tableData" show-summary>  
      <el-table-column prop="date" label="日期" width="180"></el-table-column>  
      <el-table-column prop="name" label="姓名" width="180"></el-table-column>  
      <el-table-column prop="address" label="地址"></el-table-column>  
      <el-table-column :formatter="sumFormatter" label="合计"></el-table-column>  
    </el-table>  
  </div>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      tableData: [  
        { date: '2023-07-18', name: '张三', address: '上海市普陀区金沙江路 1518 弄' },  
        { date: '2023-07-19', name: '李四', address: '上海市普陀区金沙江路 1517 弄' },  
        { date: '2023-07-20', name: '王五', address: '上海市普陀区金沙江路 1519 弄' },  
      ],  
    };  
  },  
  methods: {  
    sumFormatter(row, column, cellValue) {  
      const sum = this.tableData.reduce((sum, row) => sum + row[column.property], 0);  
      return `${sum}`; // 根据需要修改此处的格式化方式,比如添加人民币符号等  
    },  
    addRow() {  
      const newRow = { date: '2023-07-21', name: '赵六', address: '上海市普陀区金沙江路 1520 弄' };  
      this.tableData.unshift(newRow); // 在数据数组的开头添加新行  
    },  
  },  
};  
</script>

在上述代码中,我已经定义了一个 sumFormatter 方法来计算所有行中每一列的合计值,并显示在表格的最后一列。同时,我还定义了一个 addRow 方法,当你点击某个按钮时,它将在表格的第一行添加一个新行。你可以根据你的需要修改这些方法。

相关文章
|
9月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
751 2
|
8月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
630 137
|
12月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
1186 0
|
11月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
762 1
|
11月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
535 0
|
JavaScript
Vue的非父子组件之间传值
全局事件总线 一种组件间通信的方式,适用于任意组件间通信
283 0
|
缓存 JavaScript 前端开发
Vue Props、Slot、v-once、非父子组件间的传值....
Vue Props、Slot、v-once、非父子组件间的传值....
260 0
|
JavaScript
Vue中父子组件传值
先在⽗组件中给⼦组件的⾃定义属性绑定⼀个⽗组件的变量
270 0
|
JavaScript
vue 组件传值
vue 组件传值
235 0
|
JavaScript
vue父子组件传值
vue父子组件传值