mcpField
S
syncfusion-blazor-kanban

syncfusion-blazor-kanban

github.com/syncfusion开发4355 次安装1 周前更新
代码仓库

关于 syncfusion-blazor-kanban

这是面向 Blazor 开发者的 Syncfusion Kanban 组件技能,涵盖任务卡片、列式工作流和泳道配置,并提供拖放、工作量限制等实现参考。

主要功能

  1. 01绑定本地或远程数据
  2. 02拖放卡片并限制流转
  3. 03按字段分组泳道
  4. 04配置工作量限制
  5. 05自定义卡片与排序

适用场景

  1. 01构建 Blazor 看板和工作流界面
  2. 02按负责人或类别组织任务
  3. 03限制各列中的任务数量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/blazor-ui-components-skills --skill syncfusion-blazor-kanban

安装后在 Claude Code 中输入/syncfusion-blazor-kanban确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
accessibility.md
cards.md
columns.md
data-binding.md
dialog.md
dimensions.md
drag-and-drop.md
events.md
getting-started.md
localization.md
methods.md
properties.md
responsive-mode.md
sort.md
style.md
swimlane.md
tooltip.md
validation.md
workflow.md

详细介绍

实现 Syncfusion Blazor Kanban 组件

何时使用此技能

在以下情况下使用此技能:

  • 在 Blazor 中构建 Kanban 看板或工作流管理界面
  • 实现基于列的工作流任务/卡片管理
  • 添加泳道分组,按负责人或类别整理卡片
  • 启用在列之间拖放卡片
  • 配置 WIP(进行中)验证限制
  • 使用模板自定义卡片外观
  • 将 Kanban 绑定到本地或远程数据源
  • 将 Kanban 与外部组件(Schedule、TreeView)集成

快速开始

1. 安装 NuGet 包
dotnet add package Syncfusion.Blazor.Kanban
dotnet add package Syncfusion.Blazor.Themes
2. 注册服务(Program.cs)
using Syncfusion.Blazor;
builder.Services.AddSyncfusionBlazor();
3. 添加导入(_Imports.razor)
@using Syncfusion.Blazor
@using Syncfusion.Blazor.Kanban
4. 添加样式表和脚本(index.html 或 App.razor)
<link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
<script src="_content/Syncfusion.Blazor.Core/scripts/syncfusion-blazor.min.js" type="text/javascript"></script>
5. 添加包含卡片的基本 Kanban
<SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
    <KanbanColumns>
        <KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
        <KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
        <KanbanColumn HeaderText="Testing" KeyField="@(new List<string>() {"Testing"})"></KanbanColumn>
        <KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
    </KanbanColumns>
    <KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
</SfKanban>

@code {
    public class TasksModel
    {
        public string Id { get; set; }
        public string Title { get; set; }
        public string Status { get; set; }
        public string Summary { get; set; }
        public string Assignee { get; set; }
    }

    public List<TasksModel> Tasks = new List<TasksModel>()
    {
        new TasksModel { Id = "Task 1", Title = "BLAZ-29001", Status = "Open", Summary = "Analyze the new requirements gathered from the customer.", Assignee = "Nancy Davloio" },
        new TasksModel { Id = "Task 2", Title = "BLAZ-29002", Status = "InProgress", Summary = "Improve application performance", Assignee = "Andrew Fuller" },
        new TasksModel { Id = "Task 3", Title = "BLAZ-29003", Status = "Open", Summary = "Arrange a web meeting with the customer.", Assignee = "Janet Leverling" },
        new TasksModel { Id = "Task 4", Title = "BLAZ-29004", Status = "Testing", Summary = "Fix the issues reported by the customer.", Assignee = "Janet Leverling" },
        new TasksModel { Id = "Task 5", Title = "BLAZ-29005", Status = "Close", Summary = "Fix the issues reported in Safari browser.", Assignee = "Steven walker" },
    };
}

导航指南

主题参考文件
入门(WebAssembly/Server/Web App)getting-started.md
数据绑定(本地、远程、ExpandoObject、Observable)data-binding.md
列配置columns.md
卡片自定义cards.md
拖放(内部和外部)drag-and-drop.md
泳道分组swimlane.md
卡片编辑对话框dialog.md
事件参考events.md
卡片排序sort.md
工作流限制workflow.md
WIP 验证(MinCount/MaxCount)validation.md
样式和 CSS 类style.md
无障碍(WCAG、键盘导航)accessibility.md
本地化和 RTLlocalization.md
工具提示tooltip.md
响应式模式responsive-mode.md
高度和宽度尺寸dimensions.md

常见模式

带泳道的 Kanban
<SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
    <KanbanColumns>
        <KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
        <KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
        <KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
    </KanbanColumns>
    <KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
    <KanbanSwimlaneSettings KeyField="Assignee"></KanbanSwimlaneSettings>
</SfKanban>
带 WIP 验证的 Kanban
<SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
    <KanbanColumns>
        <KanbanColumn HeaderText="Backlog" KeyField="@(new List<string>() {"Open"})" MinCount="2"></KanbanColumn>
        <KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})" MaxCount="3"></KanbanColumn>
        <KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
    </KanbanColumns>
    <KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
</SfKanban>
使用基于索引的排序的 Kanban
<SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
    <KanbanColumns>
        <KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
        <KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
        <KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
    </KanbanColumns>
    <KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
    <KanbanSortSettings SortBy="SortOrderBy.Index" Field="RankId"></KanbanSortSettings>
</SfKanban>

关键属性参考

属性组件描述
KeyFieldSfKanban映射用于确定卡片所属列的数据字段
DataSourceSfKanban将本地或远程数据绑定到 Kanban
AllowDragAndDropSfKanban启用/禁用拖放(默认值:true)
EnableTooltipSfKanban悬停时显示卡片详情
EnableRtlSfKanban启用从右到左的布局
HeaderFieldKanbanCardSettings映射卡片标题的唯一 ID 字段
ContentFieldKanbanCardSettings映射卡片主体中显示的字段
KeyFieldKanbanColumn映射到此列的一个或多个卡片状态值
AllowToggleKanbanColumn允许展开/折叠列
MinCountKanbanColumnWIP 验证的最小卡片数
MaxCountKanbanColumnWIP 验证的最大卡片数
TransitionColumnsKanbanColumn将卡片限制为仅能放入指定列
AllowDropKanbanColumn阻止卡片被放入某列
AllowDragKanbanColumn阻止从某列拖出卡片
KeyFieldKanbanSwimlaneSettings按此字段将卡片分组到泳道行
SortByKanbanSortSettings排序模式:DataSourceOrder、Index 或 Custom

评论

支持 Markdown