Skip to content

CondorTableList

CondorTableList 是一个树形表格列表展示组件,以卡片形式逐行展示数据,支持展开/折叠子行、勾选、自定义渲染等功能。适合在表格模式(table)和列表模式(list)之间切换时使用。

组件 Props

参数名类型默认值说明
columnsany-必需 列配置数组
dataany[]树形数据源
paginationany-分页配置对象(false 时不显示分页)
defaultExpandAllbooleantrue是否默认展开所有节点
rowKey(row: any) => string() => ''自定义行唯一键生成函数

组件事件

事件名说明参数
update:page页码变化当前页码
update:page-size每页条数变化新的 pageSize
update:checked-row-keys勾选行变化选中的行 key 数组

Column 配置

columns 数组中每项的 type 支持:

  • 'operate' — 操作列,显示操作按钮
  • 其他类型视为数据列

每列可配置 render 函数进行自定义渲染,通过 CondorVNode 实现。

基本用法

vue
<template>
  <CondorTableList
    :columns="columns"
    :data="treeData"
    :pagination="pagination"
    :row-key="(row) => row.id"
    @update:checked-row-keys="handleCheck"
  />
</template>

<script setup lang="ts">
const columns = [
  { title: '名称', key: 'name' },
  { title: '状态', key: 'status' },
  {
    type: 'operate',
    title: '操作',
    key: 'operation',
    render: (row: any) => {
      // 返回 VNode
    }
  }
];

const treeData = [
  {
    id: 1,
    name: '父节点',
    children: [
      { id: 2, name: '子节点' }
    ]
  }
];

const pagination = { page: 1, pageSize: 10, itemCount: 50 };
</script>

该组件通常由 CondorTable 内部自动使用,通过 tools 中的 'grid' 按钮在表格和列表模式间切换。