Javascript 有没有一种方法可以在不将表重置为第1页的情况下更改v-data-table(vuetify)中每页的行数

Javascript 有没有一种方法可以在不将表重置为第1页的情况下更改v-data-table(vuetify)中每页的行数,javascript,vue.js,frontend,vuetify.js,Javascript,Vue.js,Frontend,Vuetify.js,我有一个vuetify数据表,当我更改每个页码的行数时,我希望将当前页保持在打开状态。每当我更改每页的行数时,它似乎不会触发分页同步。(分页同步应处理跟踪哪个页面,因为它适用于页面上的其他筛选器,例如,在对记录进行排序时,它将保留在当前页面上)。当更改每页的行数时,v-data-table就是这样工作的吗 任何帮助都将不胜感激。谢谢不清楚您所说的“同一页”是什么意思。如果您的表中总共有100行,并且您每页显示10行,并且您当前正在查看第31-40行(即“第3页”),并且您切换到每页50行,那么您

我有一个vuetify数据表,当我更改每个页码的行数时,我希望将当前页保持在打开状态。每当我更改每页的行数时,它似乎不会触发分页同步。(分页同步应处理跟踪哪个页面,因为它适用于页面上的其他筛选器,例如,在对记录进行排序时,它将保留在当前页面上)。当更改每页的行数时,v-data-table就是这样工作的吗


任何帮助都将不胜感激。谢谢

不清楚您所说的“同一页”是什么意思。如果您的表中总共有100行,并且您每页显示10行,并且您当前正在查看第31-40行(即“第3页”),并且您切换到每页50行,那么您应该在哪一页?对于每页的新行,总共只有2页,所以在“第3页”上是没有意义的。如果您切换到每页5行,则第7页将显示第31-35项,第8页将显示第36-40项。应该显示哪个页面

由于“同一页”没有明确的定义,Vuetify默认返回第一页作为一种明智的行为

但是,为了便于讨论,让我们确定“同一页”的意思是,在更改每页项目之前,表的第一行上的任何项目在更改每页项目之后都将在屏幕上保持可见。显然,如果每页的项目数减少,例如从10个减少到5个,则无法显示更改前屏幕上的所有项目

给你

v-data-table
具有一个
@pagination
事件,该事件在每次页面更改时都会触发,无论是在单击页面时还是每页的项目数更改时。事件处理程序接收的对象如下所示:

{
“page”:5,//基于1的索引,即第一页是1(不是零)
“itemsPerPage”:5,//每页当前项目
“pageStart”:20,//屏幕上显示的第一个项目的基于0的索引
“pageStop”:25,//下一页第一项的基于0的索引
“pageCount”:20,//总页数
“itemsLength”:100//总行数
}
我们可以存储这些值供以后使用,包括在每页的项目数发生变化时更新当前页面

首先,您需要在
v-data-table
中添加两个道具:

<v-data-table
  :headers="headers"
  :items="items"
  :items-per-page="5"
  :page.sync="pagination.page"
  @pagination="updatePage"
></v-data-table>