我正在使用 Vuetify 当前的 CRUD数据表 UI 组件(与 Vue.js2 兼容),并且我正在尝试使用 JavaScript 中的以下静态数据来计算产品的小计,将产品的数量乘以其价格:
HTML:
<template>
<v-layout align-start>
<v-flex>
<v-container grid-list-sm class="pa-4 white">
<v-layout row wrap>
<v-flex xs12 sm12 md12 lg12 xl12>
<v-data-table :headers="headerDetails" :items="details" hide-actions class="elevation-1">
<template v-slot:no-data>
<h3>There are no current products added on details.</h3>
</template>
</v-data-table>
</v-flex>
</v-layout>
</v-flex>
</v-layout>
</template>
JAVASCRIPT
<script>
import axios from 'axios'
export default {
data(){
return{
headerDetails: [
{ text: 'Product', value: 'product', sortable: false },
{ text: 'Quantity', value: 'quantity', sortable: false },
{ text: 'Price', value: 'price', sortable: false },
{ text: 'Subtotal', value: 'subtotal', sortable: false },
],
details:[
{product:'Product 1', quantity:'5', price:'10', subtotal: quantity*price },
{product:'Product 2', quantity:'5', price:'20', subtotal: quantity*price },
{product:'Product 3', quantity:'20', price:'15', subtotal: quantity*price },
{product:'Product 4', quantity:'10', price:'25', subtotal: quantity*price }
],
}
}
}
我想要得到的是以下结果:
|---------------------|------------------|---------------------|------------------|
| Product | Quantity | Price | Subtotal |
|---------------------|------------------|---------------------|------------------|
| Product 1 | 5 | 10 | 50 |
|---------------------|------------------|---------------------|------------------|
| Product 2 | 5 | 20 | 100 |
|---------------------|------------------|---------------------|------------------|
| Product 3 | 20 | 15 | 300 |
|---------------------|------------------|---------------------|------------------|
| Product 4 | 10 | 25 | 250 |
|---------------------|------------------|---------------------|------------------|
但相反,我得到“详细信息中没有添加当前产品”。从<template v-slot:no-data>
. 如果我从数组中取出小计,它会显示除了小计列之外没有问题的静态数据,如下所示:
|---------------------|------------------|---------------------|------------------|
| Product | Quantity | Price | Subtotal |
|---------------------|------------------|---------------------|------------------|
| Product 1 | 5 | 10 | |
|---------------------|------------------|---------------------|------------------|
| Product 2 | 5 | 20 | |
|---------------------|------------------|---------------------|------------------|
| Product 3 | 20 | 15 | |
|---------------------|------------------|---------------------|------------------|
| Product 4 | 10 | 25 | |
|---------------------|------------------|---------------------|------------------|
下面的例子是它在以前的版本中是如何完成的:
<v-data-table :headers="headerDetails" :items="details" hide-actions class="elevation-1">
<template slot="items" slot-scope="props">
<td>{{ props.item.product }}</td>
<td>{{ props.item.quantity}}</td>
<td>{{ props.item.price }}</td>
<td>{{ props.item.quantity * props.item.price }}</td>
</template>
</v-data-table>
由于此解决方案不再适用于最新版本,我如何使用 Vue.js 2.6、Vue CLI 4、Vuetify 2.2 计算这两个项目的值?