用途
Syncfusion Angular Kanban 组件用于在 Angular 应用中实现交互式看板板(Kanban board),主要用于工作流可视化与任务管理。典型场景包括:展示任务阶段(待办 → 进行中 → 测试 → 完成)、让用户跨列组织与跟踪工作、通过拖拽卡片在列间移动来改变任务状态等。
主要能力
- 卡片(Cards):代表单个任务,通过 cardSettings 映射到 dataSource,支持 headerField、contentField、grabberField、模板与自定义渲染。
- 列(Columns):定义工作流阶段,使用 keyField 映射,支持单键与多键列映射、列头与堆叠表头、动态增删/显示隐藏列。
- 泳道(Swimlanes):按任意数据字段(如负责人、优先级、分类)对卡片分组。
- 拖拽与交互:默认启用拖拽(allowDragAndDrop: true),支持列间移动与列内重排,可用 transitionColumns 控制合法流转,并监听 beforeDragStart、dragStart、dragStop 等事件。
- WIP 约束:通过每列/泳道的 minCount、maxCount 强制进行中工作量上下限。
- 数据绑定:支持本地数组与远程 DataManager,并支持 OData v4。
- 模板:卡片、列头、泳道头、对话框与工具提示均可定制。
- 选择:支持单选与多选模式。
- 排序、筛选与搜索:对卡片进行排序、过滤、搜索。
- 响应式:适配桌面与移动端布局。
- 主题:内置 Material、Bootstrap 3、Bootstrap 4、Fabric、High Contrast 五种主题,支持 CSS 定制、暗色模式与 RTL。
- 无障碍与国际化:键盘导航、ARIA、焦点管理、i18n 与多语言/区域设置。
- 方法与事件:提供 addCard()、deleteCard()、updateCard()、getSelectedCards()、addColumn()、removeColumn()、hideColumn()、showColumn()、refresh()、getCardCount()、getSwimlaneData()、openDialog()、closeDialog()、search()、filter()、sortBy() 等方法;事件包括 actionBegin、actionComplete、actionFailure、cardClick、cardDoubleClick、cardSelection、dragStart、dragStop、beforeDragStart、dialogOpen、dialogClose、columnClick、swimlaneClick 等。
- 状态持久化:支持本地存储持久化看板状态、保存卡片位置与列状态、ObservableCollection 集成、页面重载后状态恢复。
使用方式
安装:npm install @syncfusion/ej2-angular-kanban
在 Angular 中导入 KanbanModule 与 CardSettingsModel,组件模板使用 <ejs-kanban> 并设置 keyField、dataSource、cardSettings,列通过 <e-columns> 与 <e-column> 定义。示例中通过 keyField="Status" 将卡片状态映射到列,cardSettings 指定 headerField 与 contentField。
样式导入示例:
@import '../node_modules/@syncfusion/ej2-base/styles/material3.css';
@import '../node_modules/@syncfusion/ej2-kanban/styles/material3.css';
常见模式示例:用 swimlaneSettings: { keyField: 'Assignee' } 按负责人启用泳道;用列的 minCount/maxCount 强制 WIP 限制;通过 onCardClick(args) 处理卡片点击;通过 @ViewChild 获取 KanbanComponent 后调用 addCard() 以编程方式添加卡片。
关键属性包括 keyField、dataSource、cardSettings、columns、swimlaneSettings、allowDragAndDrop(默认 true)、allowKeyboard(默认 true)、allowSelection、selectionType('Single' | 'Multiple')、height、width。
适用场景
项目管理(从待办到完成跟踪任务)、缺陷跟踪(按状态组织问题)、客户支持(在解决流程中管理工单)、敏捷 Sprint 板(跨阶段展示用户故事)、销售管道(跟踪潜在客户到客户)、内容工作流(管理文章从草稿到发布)、招聘(按招聘阶段组织候选人)、DevOps 流水线(跟踪跨环境的部署)。
限制
资料未提供该组件的收费、价格、授权与平台支持范围、性能基准等具体事实;这些内容暂未提供。以上内容均基于技能资料中的参考文档导航与示例整理,具体实现细节请参考对应参考文件。