v-data-table
不要举办这个活动。您需要手动分页,可以使用以下方式:
<template>
<v-data-table
:items="tableData"
:itemsPerPageOptions="itemsPerPageOptions"
:items-per-page="pageSize"
@update:items-per-page="onPageSizeChange"
:page="pageNow"
@update:page="onPageNowChange">
<template v-slot:item.exclusive="{ item }">
<v-checkbox v-model="item.exclusive" readonly></v-checkbox>
</template>
</v-data-table>
</template>
<script setup lang="js">
import { ref } from 'vue'
const tableData = ref([
{
name: 'PlayStation 5',
manufacturer: 'Sony',
year: 2020,
sales: '10M',
exclusive: true,
},
{
name: 'Xbox Series X',
manufacturer: 'Microsoft',
year: 2020,
sales: '6.5M',
exclusive: false,
},
{
name: 'Nintendo Switch',
manufacturer: 'Nintendo',
year: 2017,
sales: '89M',
exclusive: true,
},
{
name: 'PlayStation 4',
manufacturer: 'Sony',
year: 2013,
sales: '116M',
exclusive: true,
},
{
name: 'Xbox One',
manufacturer: 'Microsoft',
year: 2013,
sales: '50M',
exclusive: false,
},
{
name: 'Nintendo Wii',
manufacturer: 'Nintendo',
year: 2006,
sales: '101M',
exclusive: true,
},
])
const itemsPerPageOptions = ref([
{ value: 2, title: '2 items' },
{ value: 5, title: '5 items' },
{ value: 10, title: '10 items' },
{ value: -1, title: 'All items' }])
const pageSize = ref(2)
const onPageSizeChange = (rowsPerPage) => {
console.log('Page size changed to:', rowsPerPage)
pageSize.value = rowsPerPage
// update tableData from the server
}
const pageNow = ref(1)
const onPageNowChange = (page) => {
console.log('Page changed to:', page)
pageNow.value = page
// update tableData from the server
}
</script>