4 个回答

我是这样改的,重新组合了一下数据,也不需要:formatter了,希望对你有帮助

 data() {
  return {
    tableData6: [{
      id: '12987122',
      price: 10,
      amount: 23,
    }, {
      id: '12987122',
      price: 12,
      amount: 12,
    }, {
      id: '12987122',
      price: 3,
      amount: 20,
    }]
  };
},

computed:{
  tableData() {
    this.tableData6.map((v,i)=>{
      v.sum=v.price*v.amount;
    });
    return this.tableData6
  }
},

<div id="app">
  <template>
    <el-table :data="tableData" border="" height="200"  :summary-method="getSummaries"
      show-summary style="width: 100%; margin-top: 20px">
      <el-table-column prop="id" label="ID" width="180">
      </el-table-column>
      <el-table-column prop="price" label="单价">
      </el-table-column>
      <el-table-column prop="amount" label="数量">
      </el-table-column>
      <el-table-column prop="sum" label="总额">
      </el-table-column>
    </el-table>
  </template>
</div>

https://jsfiddle.net/fag8xy88/1/

改动的地方

<el-table-column prop="sum" label="总额">
     <template scope="scope">
       {{scope.row.sum = scope.row.price * scope.row.amount}}
     </template>
    </el-table-column>

改得比较简单粗暴

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题