有没有办法在加载表之前设置vuetify数据表页面



我目前正在努力在加载表数据之前从外部设置数据表的页面。在我的应用程序中,数据表页面要么来自URL,要么来自本地存储。理论上,一旦创建了组件,我就知道用户应该在表的哪一页上结束

但是,立即设置页面将毫无用处,因为在加载表的数据后,表页面将再次设置回1。但是,由于我通常使用computed属性来保存表数据,所以我只是等待对此进行更改,然后更新表页面。不幸的是,如果有很多数据或数据结构更复杂,这就不起作用——渲染需要更长的时间,所以我的更新来得太早了。

我在文档中找不到任何不支持这一点的暗示,并造成了github问题,因为它对我来说似乎是一个bug,至少从开发工具中的一些矛盾数据来看是这样。

我还试图在代码笔中重新创建场景,显然在这种情况下,可以等到";loadData";完成了,但正如我对我的应用程序所说的,在获取数据和它显示在表中之间的轻微延迟似乎是问题所在,但最终会导致相同的结果。

我对期权属性也做了同样的尝试,但没有看到任何显著的区别:

:options.sync="myOptions"

你们对如何处理这个问题有什么建议吗?在数据更改后保留页面的任何方法,还是在填充和呈现表后更新页面的任何可靠方法?我觉得我试过了桌子上的大多数项目,但还没有运气。

提前感谢!:(

这似乎真的是vuetify中的一个bug。更新项目时,页面将重置为1,但仅在组件内部。page道具从未反映出这种变化。

一个变通方法是在我们这边触发page变量的更改。因此,在您的示例中,我将以下内容放在loadData方法的末尾。

const p = this.page
this.page = 1
this.$nextTick(() => {
this.page = p
})

这使page道具与组件重新同步,并且似乎立即加载了正确的页面,至少在代码笔中是这样。

最新更新