mcpField
S
syncfusion-javascript-listview

syncfusion-javascript-listview

github.com/syncfusion设计与 UI058 次安装1 周前更新
代码仓库

关于 syncfusion-javascript-listview

面向开发者的 TypeScript 技能,指导在数据驱动界面中实现 Syncfusion ListView,涵盖数据绑定、选择、嵌套导航、自定义和虚拟滚动等功能。

主要功能

  1. 01本地和远程数据绑定
  2. 02单选、多选与复选框选择
  3. 03嵌套列表和逐级导航
  4. 04分组、筛选与搜索
  5. 05模板、事件与虚拟滚动

适用场景

  1. 01构建可搜索的联系人列表
  2. 02逐级展示层级数据
  3. 03通过虚拟滚动呈现大型列表
  4. 04创建聊天或任务列表界面

安装

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

$npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-listview

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

包含的文件

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

references/
advanced-features.md
api-reference.md
data-binding.md
events-state-management.md
getting-started.md
grouping-filtering.md
nested-lists-navigation.md
selection-interactions.md
styling-customization.md
templates-rendering.md
use-case-examples.md

详细介绍

实现 Syncfusion TypeScript ListView

何时使用此技能

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

  • 使用动态数据(本地、远程或基于 API)创建列表
  • 显示分层/嵌套列表结构
  • 实现多选或基于复选框的选择
  • 添加分组、筛选或搜索功能
  • 构建交互式 UI 组件(聊天窗口、联系人列表、数据表格)
  • 为列表项应用自定义模板和样式
  • 启用虚拟滚动、拖放、动画或分页等高级功能
  • 处理列表事件(选择、滚动、操作)

组件概览

Syncfusion ListView 是一款功能丰富、高性能的列表组件,可用于显示数据,并支持:

  • 数据绑定:本地数组、远程 API、动态数据
  • 选择:单选、多选或基于复选框的选择
  • 模板:自定义项、页眉和分组模板
  • 嵌套:支持下钻导航的分层结构
  • 组织:对可搜索的数据集进行分组和筛选
  • 性能:虚拟滚动,针对大型数据集进行高效渲染
  • 交互性:拖放、动画、事件、自定义样式
  • 无障碍功能:符合 WCAG 标准、键盘导航、ARIA 支持

文档与导航指南

入门

📄 阅读: references/getting-started.md

  • 安装和软件包设置
  • 基本的 ListView 实现
  • CSS 导入和主题配置
  • 首次渲染和最简可运行示例
  • TypeScript 项目设置
数据绑定与数据源

📄 阅读: references/data-binding.md

  • 本地数组数据源
  • 使用 DataManager 绑定远程 API 数据
  • 动态数据加载和刷新
  • 查询构建器和 OData 支持
  • 实际数据绑定模式
模板与渲染

📄 阅读: references/templates-rendering.md

  • 项目模板(单行、多行、自定义 HTML)
  • 用于自定义页眉的页眉模板
  • 带样式的分组模板
  • 动态切换模板
  • 模板最佳实践和模式
选择与交互

📄 阅读: references/selection-interactions.md

  • 单项选择
  • 使用复选框或 Ctrl+单击进行多选
  • 复选框配置和定位
  • 启用/禁用项目
  • 切换项目可见性
  • 选择事件和回调
嵌套列表与导航

📄 阅读: references/nested-lists-navigation.md

  • 分层数据结构
  • 嵌套列表导航和下钻
  • 在不同层级之间返回导航
  • 面包屑模式
  • 动态层级结构
分组与筛选

📄 阅读: references/grouping-filtering.md

  • 按类别或字段对项目分组
  • 自定义分组页眉模板
  • 在分组页眉中显示项目数量
  • 搜索和筛选实现
  • 实时筛选模式
样式与自定义

📄 阅读: references/styling-customization.md

  • CSS 类自定义
  • 应用主题(Material、Fabric、Bootstrap)
  • 从右到左(RTL)语言支持
  • 自定义样式和 CSS 变量
  • 响应式设计模式
事件与状态管理

📄 阅读: references/events-state-management.md

  • 可用事件(选择、滚动、操作开始/完成)
  • 事件处理和回调
  • 事件参数和数据
  • 状态跟踪和管理
  • 常见事件模式
高级功能

📄 阅读: references/advanced-features.md

  • 面向大型数据集的虚拟滚动
  • 分页和分页功能集成
  • 拖放功能
  • 动画效果和过渡
  • 持久化和状态恢复
  • 性能优化技巧
真实场景示例与用例

📄 阅读: references/use-case-examples.md

  • 聊天窗口 UI 实现
  • 联系人列表布局
  • 待办事项/任务列表应用
  • 双列表管理器
  • 移动端联系人布局
  • 使用 ListView 实现类似网格的布局
完整 API 参考

📄 阅读: references/api-reference.md

  • 所有 ListView 属性及其类型和默认值
  • 完整的方法文档及参数
  • 事件定义及其参数结构
  • 类型定义和枚举
  • 配置接口
  • 每个主要 API 项的用法示例

快速入门示例

import { ListView, ListViewComponent } from '@syncfusion/ej2-lists';
import { DataBind } from '@syncfusion/ej2-base';

// Basic ListView with local data
const listViewInstance = new ListView({
    dataSource: [
        { id: '1', text: 'Item 1' },
        { id: '2', text: 'Item 2' },
        { id: '3', text: 'Item 3' }
    ],
    fields: { id: 'id', text: 'text' }
});

listViewInstance.appendTo('#element');

常见模式

模式 1:带选择功能的基本列表
const listView = new ListView({
    dataSource: ['Apple', 'Banana', 'Cherry'],
    select: (args) => {
        console.log('Selected:', args.data);
    }
});
listView.appendTo('#list');
模式 2:带复选框的多选
const listView = new ListView({
    dataSource: data,
    showCheckBox: true,
    fields: { text: 'Name', id: 'Id', isChecked: 'Checked' }
});
listView.appendTo('#list');
模式 3:嵌套列表导航
const listView = new ListView({
    dataSource: hierarchicalData,
    fields: { text: 'text', id: 'id', child: 'child' },
    select: (args) => {
        if (args.data.child) {
            // Navigate to child list
        }
    }
});
listView.appendTo('#list');
模式 4:分组列表
const listView = new ListView({
    dataSource: data,
    fields: { text: 'Name', groupBy: 'Category', id: 'Id' }
});
listView.appendTo('#list');

核心功能一览

功能描述参考
数据绑定连接到本地/远程数据源data-binding.md
模板自定义项目、标题和分组的外观templates-rendering.md
选择单选、多选或复选框模式selection-interactions.md
嵌套分层下钻导航nested-lists-navigation.md
分组按类别整理项目grouping-filtering.md
筛选动态搜索和筛选项目grouping-filtering.md
样式主题和自定义选项styling-customization.md
事件处理用户交互events-state-management.md
虚拟化高效渲染大型数据集advanced-features.md
拖放使用鼠标重新排列项目advanced-features.md

性能提示

  • 对包含 1000+ 个项目的列表启用虚拟化
  • 对大型数据集使用远程数据并启用延迟加载
  • 对筛选器进行防抖处理,避免过度重新渲染
  • 通过尽量减少 DOM 复杂度来优化模板
  • 对静态分组缓存分组标题

浏览器支持

  • Chrome(最新版)
  • Firefox(最新版)
  • Safari(最新版)
  • Edge(最新版)
  • IE 11+

依赖项

@syncfusion/ej2-lists
@syncfusion/ej2-base
@syncfusion/ej2-data

后续步骤

  1. 从入门指南开始 - 设置你的第一个 ListView
  2. 选择数据源 - 根据你的用例使用 data-binding.md
  3. 自定义外观 - 应用 templates-rendering.md 中的模板
  4. 添加交互功能 - 实现选择和事件
  5. 探索高级功能 - 虚拟化、拖放、动画
  6. 查阅 API - 查看 api-reference.md 获取完整文档

如需详细的实现指南,请参阅上方的参考文件。每个文件都专注于一个特定方面,并包含来自 utils/code-snippet/listview 文件夹的完整代码示例。

评论

支持 Markdown