Tabulator添加新行后自动滚动至该行并激活指定列编辑器实现问题
修正方案
你现有代码存在两处问题:
- 你直接在
then后同步执行scrollToRow,此时新增行还未完成挂载,调用不会生效;同时scrollToRow传入总条数作为参数不符合方法要求,不需要依赖索引值,addRow返回的Promise已经携带了新增行的行组件实例,直接用这个实例操作即可。 - 要激活指定列的编辑器,调用行实例的
edit方法传入对应字段名即可。
修正后的按钮点击逻辑代码如下:
document.getElementById("addrow").addEventListener("click", function(){ // 如果需要新增行固定出现在表格顶部,可将addRow改为table.addRow({}, true) table.addRow({}).then((row) => { // 滚动到新增行,位置对齐可视区域顶部 row.scrollTo("top").then(() => { // 滚动完成后激活TmStamp列的编辑器 row.edit("TmStamp"); }); }); });
内容的提问来源于stack exchange,提问作者kale
相关产品推荐
相关产品推荐

