如何在AJAX加载的Tabulator表格行处理完成后执行操作?
Tabulator分页行加载完成后选中特定行的正确姿势
想要在AJAX加载的分页行完全处理好并渲染到表格后,遍历选中符合条件的行,你得用**pageRendered事件或者dataRendered事件**——这俩都是在数据被转成行组件、渲染完成后才触发的,刚好满足需求。
代码示例
// 初始化表格时绑定事件 const table = new Tabulator("#your-table", { ajaxURL: "你的远程数据源地址", pagination: "remote", // 分页加载完成后触发,仅针对分页场景 pageRendered() { // 获取当前页所有行实例 const rows = this.getRows(); rows.forEach(row => { const rowData = row.getData(); // 替换成你的选中逻辑,比如判断某个字段值 if (rowData.id === 3) { row.select(); // 选中该行 } }); }, // 更通用的事件,所有数据渲染完成都触发(包括首次加载、分页、过滤、排序后) dataRendered() { const rows = this.getRows(); rows.forEach(row => { if (row.getData().status === "enabled") { row.select(); } }); } });
为啥之前用的事件不行?
dataLoaded:官方明确说明,这个事件是数据刚加载完,但还没处理成行组件的时候触发的,自然拿不到行实例。pageLoaded:这个事件只是分页数据加载完成,但还没渲染成行,同样没法操作行组件。
内容的提问来源于stack exchange,提问作者Aleks
相关产品推荐
相关产品推荐

