vuetify.js - Vuetify VDataTable 处理每页更新的项目
问题描述
我有一些来自后端的分页数据需要填写VDataTable
,如下所示:
render() {
return (
<div>
<VDataTable
headers={this.headers}
items={this.items || []}
loading-text='Loading... Please wait'
loading={this.$apollo.queries.items.loading}
page={this.page}
server-items-length={this.total}
/>
</div >
);
}
而且我需要处理每页或每页的项目更新时的操作。
但是我还没有找到有关如何执行此操作的文档。我得到的最接近的是官方 Vuetify 参考,但他们使用模板记录,即<v-data-table>
而不是<VDataTable>
. 我怎样才能以上述 JSX 方式做到这一点?
大概是这样的?
onItemsPerPageUpdate={this.handleItemsPerPageUpdate}
onUpdatePage={this.handlePageUpdate}
解决方案
经过一番研究,我找到了解决方案。
该道具onPagination
将注册事件处理程序,监听默认页脚的分页变化,例如每页行数的变化,页码的变化。
您将需要在此结构中注册一个接收参数的处理函数。
示例代码如下,适用于 vuetify 2.0。
methods: {
handlePageUpdate(options: any): any {
this.page = options.page;
this.pageSize = options.itemsPerPage;
},
},
data() {
items: [],
total: 0, // total number of unpaged entries
page: 1,
pageSize: 10,
},
render() {
return (
<div>
<VDataTable
headers={this.headers}
items={this.items}
page={this.page}
server-items-length={this.total || 0}
onPagination={this.handlePageUpdate}
footerProps={{'items-per-page-options': [10,20,30]}} // sets custom rows-per-page dropdown options
/>
</div >
);
},
推荐阅读
- asp.net - Windows 集成身份验证和 Azure 多因素身份验证
- scala - 使用 sbt-projectmatrix 创建 AutoPlugin。如何设置scalaVersion?
- python - Pytorch:TypeError:列表不是模块子类
- docker - Docker Compose 正在运行,但浏览器中没有显示任何内容
- model-view-controller - 如何将过滤后的数据从 mvc.grid 导出到 excel 或 pdf
- gradle - gradle 添加依赖,如 npm
- node.js - 我需要有两个基于表列分组的数组响应,以便计数组对应于它的行
- javascript - Javascript - 根据另一个数组对对象数组进行排序
- vue.js - 未触发 Vuejs 指令中 gsap.scrollTrigger 的更新
- regex - 通过正则表达式匹配方法获取第一个子字符串