有没有办法在加载 table 之前设置 vuetify 数据 table 页面?
Is there a way to set a vuetify data table page before the table is loaded?
我目前正在努力在加载 table 数据之前在外部设置数据 table 的页面。在我的应用程序中,数据 table 页面来自 URL 或本地存储。理论上,一旦创建了组件,我就知道用户应该在 table 的哪一页结束。
但是立即设置页面是没有用的,因为在加载table的数据后,table页面又被设置回1。但是由于我通常使用计算 属性 来保存 table 数据,所以我只是等待对此进行更改,然后更新 table 页面。不幸的是,如果有大量数据或数据结构更复杂,这将不起作用渲染需要更长的时间,所以我的更新来得太早了。
我在 docs that this is not supported and created a github issue 中找不到任何提示,因为它对我来说似乎是一个错误,至少从开发工具中的一些相互矛盾的数据来看是这样。
我还尝试在 codepen 中重新创建场景,显然在这种情况下,可以等到“loadData”完成,但正如我对我的应用程序所说,获取数据和它之间的轻微延迟出现在 table 中似乎是问题所在,但最终导致相同的结果。
我对 options 属性 进行了相同的尝试,但看不出任何 table 差异:
:options.sync="myOptions"
你们对如何处理这个问题有什么建议吗?在数据更改后保留页面的任何方式或在填充和呈现 table 后更新页面的任何可靠方式?我觉得我尝试了 table 的大多数事件,但还没有运气。
提前致谢! :)
这似乎真的是 vuetify 中的一个错误。更新项目时,页面将重置为 1,但仅限于组件内部。 page
道具从不反映这种变化。
一种解决方法是在我们这边触发 page
变量的更改。因此,在您的示例中,我将以下内容放在 loadData
方法的末尾。
const p = this.page
this.page = 1
this.$nextTick(() => {
this.page = p
})
这使 page
属性重新与组件同步,并且似乎立即加载了正确的页面,至少在 codepen 中是这样。
我目前正在努力在加载 table 数据之前在外部设置数据 table 的页面。在我的应用程序中,数据 table 页面来自 URL 或本地存储。理论上,一旦创建了组件,我就知道用户应该在 table 的哪一页结束。
但是立即设置页面是没有用的,因为在加载table的数据后,table页面又被设置回1。但是由于我通常使用计算 属性 来保存 table 数据,所以我只是等待对此进行更改,然后更新 table 页面。不幸的是,如果有大量数据或数据结构更复杂,这将不起作用渲染需要更长的时间,所以我的更新来得太早了。
我在 docs that this is not supported and created a github issue 中找不到任何提示,因为它对我来说似乎是一个错误,至少从开发工具中的一些相互矛盾的数据来看是这样。
我还尝试在 codepen 中重新创建场景,显然在这种情况下,可以等到“loadData”完成,但正如我对我的应用程序所说,获取数据和它之间的轻微延迟出现在 table 中似乎是问题所在,但最终导致相同的结果。
我对 options 属性 进行了相同的尝试,但看不出任何 table 差异:
:options.sync="myOptions"
你们对如何处理这个问题有什么建议吗?在数据更改后保留页面的任何方式或在填充和呈现 table 后更新页面的任何可靠方式?我觉得我尝试了 table 的大多数事件,但还没有运气。
提前致谢! :)
这似乎真的是 vuetify 中的一个错误。更新项目时,页面将重置为 1,但仅限于组件内部。 page
道具从不反映这种变化。
一种解决方法是在我们这边触发 page
变量的更改。因此,在您的示例中,我将以下内容放在 loadData
方法的末尾。
const p = this.page
this.page = 1
this.$nextTick(() => {
this.page = p
})
这使 page
属性重新与组件同步,并且似乎立即加载了正确的页面,至少在 codepen 中是这样。