【发布时间】:2020-12-24 11:31:21
【问题描述】:
嗨,我将在我的项目中使用Vuetify data table,但有两个问题。
首先我有一个状态列,在我的数据中它是从 0 到 5 的数字。但是在表上我想显示相关的文本。例如2 表示success。我怎么能做到这一点,因为 vutify 将整个数据作为items prop。如何将状态代码更改为文本?
同样对于分页部分,我有自己的分页逻辑,比如 laravel,我为每个页面发送请求。有什么方法可以将它的分页与我的一起使用,或者我应该隐藏它并为它编写自己的 ui 代码?另外,如果我可以使用它的分页,如何更改分页文本(Rows per page: 和1-2 of 2 )?
注意:我使用的是 Nuxt 2.13 和 Vuetify 2.3.9
<template>
<v-data-table :headers="tblHeader" :items="items" :sort-by="['date',]" :sort-desc="[false, true]" multi-sort class="elevation-1">
<template v-slot:item.actions="{ item }">
<v-btn small class="text_main_color theme__btn__p" @click.prevent="moreDetails(item)">{{lang.more_details}}</v-btn>
</template>
</v-data-table>
</template>
<script>
export default {
props:['items'],
data () {
return {
items: [
{
id: 1,
customerName: 'Moji',
invoiceNum: "SP-0001",
invoiceItems: "2",
date: 1594261254,
price: 295,
status: 1 // on browser is should show pending
},
{
id: 1,
customerName: 'Moji',
invoiceNum: "SP-0003",
invoiceItems: "2",
date: 1594261254,
price: 295,
status: 2 // on browser is should show success
},
],
}
},
computed:{
tblHeader(){
return [
{ text: this.lang.customer_name, align: 'start', value: 'customerName' },
{ text: this.lang.order_datetime, value: 'date' },
{ text: this.lang.num_of_items, value: 'invoiceItems' },
{ text: this.lang.total, value: 'price' },
{ text: this.lang.invoice_number, value: 'invoiceNum' },
{ text: this.lang.status, value: 'status' },
{ text: this.lang.actions, sortable: false },
]
},
orders(){
}
},
methods:{
moreDetails(value){
this.$emit('details',value)
}
}
}
</script>
更新: 我的分页格式是这样的:
{
items: [
... // data from back end
],
pagination:{
more: true,
cursor: 21
}
}
我发送我想要退回的项目数量,例如from 21, i want 20 items
后面给我上面的json。
【问题讨论】:
标签: vue.js vuejs2 vuetify.js nuxt.js