如何为Primereact TreeTable添加selectionMode="multiple"多选行为?
PrimeReact DataTable 与 TreeTable 复选框列设置差异
DataTable 添加复选框列
在PrimeReact的DataTable里,给<Column>组件配置selectionMode="multiple"就能快速添加复选框列:
<Column selectionMode="multiple" />
TreeTable 复选框列的正确配置
但这套方法在TreeTable里行不通,TreeTable的复选框行选择有专属配置逻辑:
- 先给TreeTable组件本身设置
selectionMode="checkbox",开启复选框选择模式 - 然后添加
<Column>组件时,要把selectionMode设为checkbox(和DataTable的multiple参数不同) - 额外可选配置:
- 给列加上
selectAll属性,就能启用表头的全选复选框 - 通过
selectionKeys绑定选中项的键集合,用onSelectionChange监听选中状态变化
- 给列加上
示例代码:
<TreeTable value={data} selectionMode="checkbox" selectionKeys={selectedKeys} onSelectionChange={(e) => setSelectedKeys(e.value)} > <Column selectionMode="checkbox" selectAll /> <Column field="name" header="名称" /> {/* 其他列定义 */} </TreeTable>
内容的提问来源于stack exchange,提问作者Todd Smith
相关产品推荐
相关产品推荐

