所以我正在学习做出反应并创建一个相当基本的虚拟表。我认为这是一个足够复杂的项目,可以教给我很多有关该技术的知识。
我有一个虚拟化表,用于滚动标题和合理地虚拟化列和行(我仍然可以提高性能)。
但是,我想添加选择行或单元格之类的功能。来自angular和jQuery,我将在该区域上设置一个处理程序(因为行被更改,创建和销毁),然后使用一些层次结构逻辑来获取网格行。
onScrollAreaClick = (event) => {
let node = event.target;
while(node && !node.matches('.kgrid-row') && !node.matches('.kgrid-scroll-container'))
{
node = node.parentElement;
}
if(node.matches('.kgrid-row'))
{
this.data.selectedRows[node.getAttribute('row')] = true;
//I'd change the classname here ... but what is the 'React' way?
}
}
在记录行选择之后,我想向该行添加一个名为“ kgrid-selected-row”的类。我不确定您通常如何在反应中执行此操作,因为您处理的是DOM节点而不是React Components。