Javascript 从单元格组件内部检测行选择更改
我在应用程序中使用了一些数据需求,并创建了一些自定义的cell.s 我目前有一个带有“编辑”按钮的自定义单元格,可以切换行选择及其可编辑性。网格外部还有一个按钮,用于选择所有行(如屏幕截图所示) 我想做的是在突出显示行时(通过单击“编辑”按钮或以编程方式选择所有行),将按钮从“编辑”更改为“取消” 从单元格中的with,我可以通过执行Javascript 从单元格组件内部检测行选择更改,javascript,tabulator,Javascript,Tabulator,我在应用程序中使用了一些数据需求,并创建了一些自定义的cell.s 我目前有一个带有“编辑”按钮的自定义单元格,可以切换行选择及其可编辑性。网格外部还有一个按钮,用于选择所有行(如屏幕截图所示) 我想做的是在突出显示行时(通过单击“编辑”按钮或以编程方式选择所有行),将按钮从“编辑”更改为“取消” 从单元格中的with,我可以通过执行cell.getRow().isSelected()来获取当前行选择,但我看不到检测特定行选择何时更改的方法 我想到的一个解决方案是使用CSS隐藏/显示“编辑”或
cell.getRow().isSelected()
来获取当前行选择,但我看不到检测特定行选择何时更改的方法
我想到的一个解决方案是使用CSS隐藏/显示“编辑”或“取消”按钮,因为tablator会将类tablator selected
添加到高亮显示的任何内容中。但这似乎更像是一个黑客
提前感谢您的想法、意见和评论
如果相关的话,我将使用包装在组件中。自定义单元格目前只是一个普通的JS。我找到了一种检测单元格中行选择变化的合适方法。它使用MutationObserver API并检查所选
制表器CSS类的行元素
(我还开了一家银行,所以将来可能会有不同的处理方式)
我找到了一种检测单元格中行选择变化的合适方法。它使用MutationObserver API并检查所选制表器CSS类的行元素
(我还开了一家银行,所以将来可能会有不同的处理方式)
正确的方法是在单元格上使用格式化程序,根据行的选定状态设置切换的选定状态,可以使用cell.getRow().isSelected()
然后,您可以使用行组件上的rowSelectionChanged回调和reformat函数在该行的选择状态更改时触发该行的重新格式化:
var table = new Tabulator("#example-table", {
rowSelectionChanged:function(data, rows){
rows.forEach(function(row){
row.reformat();
});
},
});
var table = new Tabulator("#example-table", {
rowSelectionChanged:function(data, rows){
rows.forEach(function(row){
row.reformat();
});
},
});
正确的方法是在单元格上使用格式化程序,根据行的选定状态设置切换的选定状态,可以使用cell.getRow().isSelected()
然后,您可以使用行组件上的rowSelectionChanged回调和reformat函数在该行的选择状态更改时触发该行的重新格式化:
var table = new Tabulator("#example-table", {
rowSelectionChanged:function(data, rows){
rows.forEach(function(row){
row.reformat();
});
},
});
var table = new Tabulator("#example-table", {
rowSelectionChanged:function(data, rows){
rows.forEach(function(row){
row.reformat();
});
},
});
制表器中内置了回调函数,可在行选择发生更改时通知您,rowSelected、rowSelected和rowSelectionChanged。这些文件的完整文档可在
在格式化程序中更改单元格的格式是安全的,因此您希望监视行上所选内容的更改,然后触发该行的重新格式化:
制表器中内置了回调函数,可在行选择发生更改时通知您,rowSelected、rowSelected和rowSelectionChanged。这些文件的完整文档可在
在格式化程序中更改单元格的格式是安全的,因此您希望监视行上所选内容的更改,然后触发该行的重新格式化: