CondorTableList
CondorTableList 是一个树形表格列表展示组件,以卡片形式逐行展示数据,支持展开/折叠子行、勾选、自定义渲染等功能。适合在表格模式(table)和列表模式(list)之间切换时使用。
组件 Props
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| columns | any | - | 必需 列配置数组 |
| data | any | [] | 树形数据源 |
| pagination | any | - | 分页配置对象(false 时不显示分页) |
| defaultExpandAll | boolean | true | 是否默认展开所有节点 |
| 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' 按钮在表格和列表模式间切换。