v2.0.0-preview.1 - 重构TaskList部分

This commit is contained in:
LINING-PC\lining
2025-12-16 18:28:19 +08:00
parent 6a73194c21
commit 987abf6e48
16 changed files with 1320 additions and 842 deletions
@@ -0,0 +1,44 @@
<script setup lang="ts">
/**
* TaskListColumn 声明式列组件
* 用于在 GanttChart 中声明式定义任务列表的列
* 类似于 Element Plus 的 el-table-column
*/
// 显式定义组件名称,用于识别
defineOptions({
name: 'TaskListColumn',
})
interface Props {
// 列的属性名(用于访问任务数据)
prop?: string
// 列的显示标签
label?: string
// 列宽度,支持像素数字或百分比字符串
width?: number | string
// 列对齐方式
align?: 'left' | 'center' | 'right'
// CSS 类名
cssClass?: string
}
withDefaults(defineProps<Props>(), {
align: 'left',
})
// 定义 slot
defineSlots<{
// 列头部插槽
header?: () => any
// 列内容默认插槽,接收 scope 对象 { row: Task, $index: number }
default?: (scope: { row: any; $index: number }) => any
}>()
// 注意:此组件不渲染任何内容,仅用于声明列配置
// 实际渲染由 TaskList 和 TaskRow 处理
</script>
<template>
<!-- 此组件不渲染内容 -->
</template>