Skip to content

useSelection

一个用于管理列表多选状态的 Hook。

  • 管理选中状态
  • 支持全选/取消全选
  • 支持单个选择/取消选择
  • 自动判断全选/部分选中状态
  • 支持自定义 rowKey
  • 支持默认选中项

基础用法

显示代码

API

参数

参数说明类型默认值
data数据源, 仅用于比对是否全部选中(string | number | Record<string, any>)[][]
rowKey行数据的唯一键字段名或获取函数,仅data为Record<string, any>[]时有效string | ((row: T) => string | number)'id'
defaultSelected默认选中的键值数组(string | number)[][]

返回值

参数说明类型
selectedKeys已选择的键值数组Ref<(string | number)[]>
isAllSelected是否全选ComputedRef<boolean>
isPartialSelected是否部分选中ComputedRef<boolean>
toggleSelect切换选择单个项目(row: T, selected?: boolean) => void
toggleSelectAll切换选择全部(selected?: boolean) => void
isSelected判断某项是否被选中(row: T) => boolean