reactjs - 有没有办法在 react 虚拟化表中选择多行?

标签 reactjs react-virtualized react-window

我希望能够从 react 虚拟化表中一次选择多行,可以通过单击并拖动,或按住 Shift 键从一个索引选择到另一个索引。 我知道有一个 onRowClick 方法,我目前正在使用它进行单行选择,但这还不够。 有没有简单的方法可以做到这一点?

最佳答案

首先,您可以在每行的开头添加复选框以跟踪所选行 然后你可以通过调用下面的复选框的onClick函数来一次选择多行。

const checkedData = []

 const selectRows = (obj) => {
        const already = checkedData.some(item => item.id === obj.id)
        if (already) {
            const index = checkedData.findIndex(item => item.id === obj.id)
            checkedData.splice(index, 1)
        } else {
            checkedData.push(obj)
        }
    }

通过这种方式,您还可以通过再次单击该行或取消选中复选框来从数组中弹出特定行。

关于reactjs - 有没有办法在 react 虚拟化表中选择多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71320786/

相关文章:

javascript - prevProps.search.query 始终与 this.props.search.query 相同

reactjs - 在使用 autosizer 和 cellmeasurer 进行 react 虚拟化时滚动到底部/行

javascript - 在 React.js 中调用外部组件方法的正确方法

javascript - this.props.txt 在这段代码中做了什么?

reactjs - 在 React 中使用分组行向表添加虚拟化

react-virtualized - React Virtualized - 以全高渲染表以显示所有行

javascript - react-window fixedSizeGrid 与 react-window-infinite-loader

reactjs - React-window-infinite-loader Material -ui 自动完成

reactjs - 生产构建中的 Create-React-App 代理