
syncfusion-javascript-listview
Build responsive ListView components with Syncfusion TypeScript. Implement this skill when working with list-based interfaces, data binding, templates, selection handling, nested lists, grouping, filtering, virtualization, and advanced features like drag-drop and paging. Covers single/multi-select, checkboxes, animations, remote data binding, custom templates, and use cases such as chat windows, contact lists, and data tables.
- Installs
- 57
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-listview- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-javascript-listview automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Implementing Syncfusion TypeScript ListView
When to Use This Skill
Use this skill when you need to:
- Create lists with dynamic data (local, remote, or API-based)
- Display hierarchical/nested list structures
- Implement multi-select or checkbox-based selection
- Add grouping, filtering, or search functionality
- Build interactive UI components (chat windows, contact lists, data tables)
- Apply custom templates and styling to list items
- Enable advanced features like virtualization, drag-drop, animations, or paging
- Handle list events (selection, scrolling, manipulation)
Component Overview
The Syncfusion ListView component is a feature-rich, high-performance list component for displaying data with support for:
- Data Binding: Local arrays, remote APIs, dynamic data
- Selection: Single, multiple, or checkbox-based selection
- Templating: Custom item, header, and group templates
- Nesting: Hierarchical structures with drill-down navigation
- Organization: Grouping and filtering with searchable datasets
- Performance: Virtual scrolling, efficient rendering for large datasets
- Interactivity: Drag-drop, animations, events, custom styling
- Accessibility: WCAG compliance, keyboard navigation, ARIA support
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation and package setup
- Basic ListView implementation
- CSS imports and theme configuration
- First render and minimal working example
- TypeScript project setup
Data Binding & Sources
📄 Read: references/data-binding.md
- Local array data sources
- Remote API data binding with DataManager
- Dynamic data loading and refresh
- Query builders and OData support
- Real-world data binding patterns
Templates & Rendering
📄 Read: references/templates-rendering.md
- Item templates (single-line, multi-line, custom HTML)
- Header templates for custom headers
- Group templates with styling
- Dynamic template switching
- Template best practices and patterns
Selection & Interactions
📄 Read: references/selection-interactions.md
- Single-item selection
- Multi-select with checkbox or Ctrl+click
- Checkbox configuration and positioning
- Enabling/disabling items
- Item visibility toggling
- Selection events and callbacks
Nested Lists & Navigation
📄 Read: references/nested-lists-navigation.md
- Hierarchical data structures
- Nested list navigation and drill-down
- Back navigation between levels
- Breadcrumb patterns
- Dynamic hierarchies
Grouping & Filtering
📄 Read: references/grouping-filtering.md
- Grouping items by category or field
- Custom group header templates
- Item count display in group headers
- Search and filter implementation
- Real-time filtering patterns
Styling & Customization
📄 Read: references/styling-customization.md
- CSS class customization
- Theme application (Material, Fabric, Bootstrap)
- Right-to-left (RTL) language support
- Custom styling and CSS variables
- Responsive design patterns
Events & State Management
📄 Read: references/events-state-management.md
- Available events (select, scroll, action begin/complete)
- Event handling and callbacks
- Event arguments and data
- State tracking and management
- Common event patterns
Advanced Features
📄 Read: references/advanced-features.md
- Virtual scrolling for large datasets
- Paging and pagination integration
- Drag-and-drop functionality
- Animation effects and transitions
- Persistence and state restoration
- Performance optimization tips
Real-World Examples & Use Cases
📄 Read: references/use-case-examples.md
- Chat window UI implementation
- Contact list layout
- Todo/task list application
- Dual-list manager
- Mobile contact layout
- Grid-like layouts with ListView
Complete API Reference
📄 Read: references/api-reference.md
- All ListView properties with types and defaults
- Complete method documentation with parameters
- Event definitions with argument structures
- Type definitions and enums
- Configuration interfaces
- Usage examples for each major API item
Quick Start Example
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');
Common Patterns
Pattern 1: Basic List with Selection
const listView = new ListView({
dataSource: ['Apple', 'Banana', 'Cherry'],
select: (args) => {
console.log('Selected:', args.data);
}
});
listView.appendTo('#list');
Pattern 2: Multi-Select with Checkboxes
const listView = new ListView({
dataSource: data,
showCheckBox: true,
fields: { text: 'Name', id: 'Id', isChecked: 'Checked' }
});
listView.appendTo('#list');
Pattern 3: Nested List Navigation
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');
Pattern 4: Grouped List
const listView = new ListView({
dataSource: data,
fields: { text: 'Name', groupBy: 'Category', id: 'Id' }
});
listView.appendTo('#list');
Key Features at a Glance
| Feature | Description | Reference |
|---|---|---|
| Data Binding | Connect to local/remote data sources | data-binding.md |
| Templates | Customize item, header, and group appearance | templates-rendering.md |
| Selection | Single, multi-select, or checkbox modes | selection-interactions.md |
| Nesting | Hierarchical drill-down navigation | nested-lists-navigation.md |
| Grouping | Organize items by categories | grouping-filtering.md |
| Filtering | Search and filter items dynamically | grouping-filtering.md |
| Styling | Theme and customization options | styling-customization.md |
| Events | Handle user interactions | events-state-management.md |
| Virtualization | Efficiently render large datasets | advanced-features.md |
| Drag-Drop | Reorder items with mouse | advanced-features.md |
Performance Tips
- Enable Virtualization for lists with 1000+ items
- Use Remote Data with lazy loading for large datasets
- Debounce Filters to avoid excessive re-renders
- Optimize Templates with minimal DOM complexity
- Cache Group Headers for static grouping
Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- IE 11+
Dependencies
@syncfusion/ej2-lists
@syncfusion/ej2-base
@syncfusion/ej2-data
Next Steps
- Start with Getting Started - Set up your first ListView
- Choose Your Data Source - Use data-binding.md for your use case
- Customize Appearance - Apply templates from templates-rendering.md
- Add Interactivity - Implement selection and events
- Explore Advanced Features - Virtualization, drag-drop, animations
- Reference API - Check api-reference.md for complete documentation
For detailed implementation guidance, refer to the reference files above. Each file focuses on a specific aspect with complete code examples from the utils/code-snippet/listview folder.
FAQ
What does the syncfusion-javascript-listview skill do?
Build responsive ListView components with Syncfusion TypeScript. Implement this skill when working with list-based interfaces, data binding, templates, selection handling, nested lists, grouping, filtering, virtualization, and advanced features like drag-drop and paging. Covers single/multi-select, checkboxes, animations, remote data binding, custom templates, and use cases such as chat windows, contact lists, and data tables.
How do I install syncfusion-javascript-listview?
Run npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-listview in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-javascript-listview/ (personal) or .claude/skills/syncfusion-javascript-listview/ (project).
Which AI agents can use syncfusion-javascript-listview?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-javascript-listview safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-javascript-listview?
It is published by syncfusion in syncfusion/javascript-ui-controls-skills. It has 57 recorded installs.
More from syncfusion/javascript-ui-controls-skills
syncfusion-javascript-grid
syncfusion/javascript-ui-controls-skills
Implements Syncfusion JavaScript Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.
syncfusion-javascript-common
syncfusion/javascript-ui-controls-skills
Common utilities and features for Syncfusion JavaScript controls. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion JavaScript controls.
syncfusion-javascript-dropdowns
syncfusion/javascript-ui-controls-skills
Comprehensive guide for implementing Syncfusion TypeScript dropdown components including AutoComplete, ComboBox, Mention, Dropdownlist, Multiselect, ListBox, and MultiColumn ComboBox. Use this when building selection interfaces, data binding, filtering, cascading dropdowns, dual list transfer, custom templates, and accessible dropdown experiences.
syncfusion-javascript-license
syncfusion/javascript-ui-controls-skills
Open the skill to read its SKILL.md instructions.
syncfusion-javascript-popups
syncfusion/javascript-ui-controls-skills
Open the skill to read its SKILL.md instructions.
syncfusion-javascript-tab
syncfusion/javascript-ui-controls-skills
This skill enables creating and customizing Syncfusion TypeScript Tab components, including tab navigation, tab headers, styling, responsive layouts, dynamic content loading, animations, and multi-panel organization.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.