Token导航 LogoToken导航

Agent Skill · 研究检索

syncfusion-react-file-manager(syncfusion React file manager 搜索)

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

syncfusion-react-file-manager 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 36,361。

总安装 1,934周安装 79GitHub Stars 1下载 619核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-react-file-manager(syncfusion React file manager 搜索)
来源仓库:https://github.com/syncfusion/react-ui-components-skills
仓库路径:skills/syncfusion-react-file-manager
安装命令:
npx skills add https://github.com/syncfusion/react-ui-components-skills --skill syncfusion-react-file-manager
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/syncfusion/react-ui-components-skills --skill syncfusion-react-file-manager

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于辅助 React 前端页面、组件、样式和交互逻辑的开发与维护。适合生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

通过 GitHub 安装,支持 Codex、Claude、Cursor、Gemini CLI 等宿主环境。需确保项目已集成 Syncfusion React 组件库,否则可能无法正常运行相关功能。

来源仓库内路径:skills/syncfusion-react-file-manager

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/syncfusion/react-ui-components-skills --skill…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

syncfusion-react-file-manager 怎么安装?

在终端执行 npx skills add https://github.com/syncfusion/react-ui-components-skills --skill syncfusion…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

syncfusion-react-file-manager 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

syncfusion-react-file-manager 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

syncfusion-react-file-manager 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

syncfusion-react-file-manager 用的人多吗?

公开数据是累计安装 1,934 次,近一周安装 79 次,下载 619 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

syncfusion-react-file-manager 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
syncfusion-react-file-manager

syncfusion React file manager 搜索 · 本页

1,9341操作浏览器未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Syncfusion React File Manager

A comprehensive guide to implementing the Syncfusion React File Manager component for building file system interfaces with rich features like drag-drop, multi-view support, custom operations, and full accessibility.

Quick Navigation

🚀 Just Getting Started? → Read Getting Started for installation and basic setup

🛠️ Need to Build File Operations? → Check File Operations (CRUD) for create, read, update, delete patterns

📊 Working with Local Data? → See Flat Data Structure for in-memory files and event-driven operations

✅ Need Multiple File Selection? → Learn Multiple Selection & Range Selection for Ctrl+Click, Shift+Click, drag selection

⚡ Handling Large File Lists? → Use Virtualization for smooth scrolling with 1000+ files

🎨 Want to Customize the UI? → See Customization & Styling for theming and layout options

⚙️ Looking for Advanced Features? → Explore Advanced Features for performance, custom providers, and API integration

♿ Need Accessibility or Multi-Language? → Visit Accessibility & Localization for WCAG and i18n

🔐 Need User Access Control? → Learn Access Control for role-based permissions and security

📤 Passing Custom Headers to Server? → See Pass Custom Value to Server for setRequestHeader and authentication

🎯 Need Advanced Customization? → Check Adding Custom Item to Context Menu and Adding Custom Item to Toolbar

🔧 Want to Enable/Disable Toolbar Items? → See Enable/Disable Toolbar Item for programmatic control

🖼️ Customizing Thumbnails & Icons? → Learn Customize Custom Thumbnail for icon templates

📁 Customizing Navigation Pane? → See Customize Navigation Pane for tree view customization

✨ Pre-selecting Items? → Learn Preselect Items for default selections

📦 File Manager Inside Dialog/Tabs? → See Nested Items for embedding in other components

When to Use This Skill

Use this skill when you need to:

  • Create a file browser interface for your application
  • Implement file upload and download functionality
  • Build file management features (create, delete, rename, refresh)
  • Support multiple view options (details and large icons)
  • Add drag-and-drop capability to file management
  • Customize context menus, toolbars, and styling
  • Integrate accessibility features (keyboard navigation, ARIA)
  • Support internationalization and RTL languages
  • Connect to local or remote file systems

Component Overview

The File Manager is a graphical user interface component for managing file systems. It enables users to:

  • File Operations: Read, create, delete, rename, upload, download, and refresh files
  • Multiple Views: Switch between details view (sorted list) and large icons view (thumbnails)
  • Navigation: Breadcrumb trails and navigation pane with tree view for hierarchy exploration
  • Context Menu: Right-click menus with customizable options
  • Drag-and-Drop: Drag files between folders with configurable drop zones
  • Accessibility: Full WCAG compliance with keyboard navigation and screen reader support
  • Localization: Multi-language support with RTL direction for right-to-left languages
  • Customization: Extensive API for styling, theming, and behavior customization

Documentation and Navigation Guide

Core Features

Getting Started & Installation

📄 Read: references/getting-started.md

  • Installation and package setup
  • Basic file manager implementation
  • CSS imports and theme configuration
  • Initial configuration and setup
  • Connection to file service (AjaxSettings)
File Operations (CRUD)

📄 Read: references/file-operations.md

  • Create folders and files
  • Read and browse file systems
  • Update/rename operations
  • Delete files and folders
  • Upload and download functionality
  • Multi-file selection and bulk operations
  • File provider patterns and custom implementations
Views & Navigation

📄 Read: references/views-and-navigation.md

  • Details view with columns
  • Large icon view with thumbnails
  • View switching and configuration
  • Breadcrumb navigation control
  • Navigation pane (tree view sidebar)
  • Toolbar features and layout

Data Management

Flat Data Structure

📄 Read: references/flat-data.md

  • Use local JSON data instead of server calls
  • FileData interface and properties
  • Permission management per item
  • Event-driven file operations (create, delete, rename, search)
  • State management with React hooks
  • Backend synchronization patterns
  • Large dataset performance optimization
Multiple Selection & Range Selection

📄 Read: references/multiple-selection.md

  • Enable/disable multi-select capability
  • Range selection by mouse drag
  • Checkbox selection support
  • Selection state management
  • Selected items API and events
  • Pre-selecting items on load
  • Keyboard shortcuts (Ctrl+A, Shift+Click)
Preselect Items

📄 Read: references/preselect-the-items.md

  • Programmatically select items on load
  • Preselect based on file type, size, or date
  • Context-aware preselection
  • Selection methods (selectAll, clearSelection)
  • Get selected items programmatically

Performance & Optimization

Virtualization & Performance

📄 Read: references/virtualization.md

  • Enable virtual scrolling for large datasets
  • Dynamic loading of files and folders
  • Viewport-based rendering optimization
  • Module injection and setup
  • Performance limitations and workarounds
  • Best practices for handling 1000+ items

User Interactions

Drag-and-Drop Features

📄 Read: references/drag-and-drop.md

  • Enable/disable drag-drop functionality
  • Drop area configuration
  • Event handling (fileDragStart, fileDragStop, fileDropped)
  • Cross-folder drag-drop
  • Custom drag-drop behavior
Customization & Styling

📄 Read: references/customization.md

  • Context menu customization
  • Toolbar customization
  • Details view column customization
  • Navigation pane customization
  • Tooltip customization
  • Show/hide file extensions and hidden files
  • Thumbnail configuration for large icons view
  • CSS class and theme customization

Advanced Customization

Adding Custom Item to Context Menu

📄 Read: references/adding-custom-item-to-context-menu.md

  • Add custom menu items to context menu
  • Add icons to menu items
  • Handle menu click events
  • Conditional menu items based on file properties
  • Dynamic menu customization
Adding Custom Item to Toolbar

📄 Read: references/adding-custom-item-to-toolbar.md

  • Modify default toolbar items
  • Add custom toolbar items
  • Custom templates for toolbar
  • Toolbar click handling
  • Custom buttons, checkboxes, and dropdowns
Enable/Disable Toolbar Item

📄 Read: references/enable-disable-toolbar-item.md

  • Enable/disable toolbar items programmatically
  • Enable/disable based on selection
  • Role-based toolbar control
  • Disable during operations
  • Permission-based toolbar control
Customize Custom Thumbnail

📄 Read: references/customize-custom-thumbnail.md

  • Hide/show thumbnails
  • Custom templates for large icon view
  • File type-based icons
  • Size-based color coding
  • Date-based icon indicators
Customize Navigation Pane

📄 Read: references/customize-navigation-items.md

  • Control navigation pane visibility and width
  • Custom templates for navigation nodes
  • Add file counts and metadata
  • Color-coded folders
  • Icon-based navigation styling
  • Responsive navigation pane
Nested Items

📄 Read: references/nested-items.md

  • Embed File Manager inside Dialog
  • Embed File Manager inside Tab
  • Embed File Manager inside Splitter
  • File selector with File Manager
  • Multi-panel layouts with File Manager

Security & Integration

Access Control

📄 Read: references/access-control.md

  • Define access permissions for folders/files
  • Permission types (Allow/Deny)
  • Role-based access control
  • Access rules for different user roles
  • Backend permission validation
Pass Custom Value to Server

📄 Read: references/pass-custom-value-to-server.md

  • Setting custom HTTP headers with setRequestHeader
  • User authentication headers
  • User identification headers
  • Tracking file operations
  • Department-based access
  • Download operation customization
  • Image loading customization
  • Complete server integration patterns

Accessibility & Localization

Accessibility & Localization

📄 Read: references/accessibility-localization.md

  • WCAG 2.1 compliance
  • Keyboard navigation (arrow keys, enter, delete)
  • ARIA attributes and roles
  • Screen reader support
  • Internationalization (i18n)
  • Right-to-left (RTL) support
  • Date and number formatting for different locales

Advanced Features

Advanced Features

📄 Read: references/advanced-features.md

  • Custom file system provider implementation
  • API integration patterns
  • Performance optimization techniques
  • Error handling and edge cases
  • Event system and hooks
  • Advanced search and filtering
  • Custom sorting and comparison
  • Nested components (File Manager in Dialog/Tabs)

Quick Start Example

import React from 'react';
import { FileManagerComponent, Inject, DetailsView, NavigationPane, Toolbar } from '@syncfusion/ej2-react-filemanager';
import '@syncfusion/ej2-base/styles/material.css';
import '@syncfusion/ej2-icons/styles/material.css';
import '@syncfusion/ej2-inputs/styles/material.css';
import '@syncfusion/ej2-popups/styles/material.css';
import '@syncfusion/ej2-buttons/styles/material.css';
import '@syncfusion/ej2-splitbuttons/styles/material.css';
import '@syncfusion/ej2-navigations/styles/material.css';
import '@syncfusion/ej2-layouts/styles/material.css';
import '@syncfusion/ej2-grids/styles/material.css';
import '@syncfusion/ej2-react-filemanager/styles/material.css';

function App() {
  const hostUrl = "url";

  return (
    <div>
      <FileManagerComponent
        id="file"
        ajaxSettings={{
          url: hostUrl + "api/FileManager/FileOperations",
          getImageUrl: hostUrl + "api/FileManager/GetImage",
          uploadUrl: hostUrl + "api/FileManager/Upload",
          downloadUrl: hostUrl + "api/FileManager/Download"
        }}
        view="Details"
        height="375px"
      >
        <Inject services={[DetailsView, NavigationPane, Toolbar]} />
      </FileManagerComponent>
    </div>
  );
}

export default App;

Methods Reference

The File Manager provides programmatic methods to control operations:

Selection & View Control

MethodParametersPurpose
selectAll()-Select all files and folders in current path
clearSelection()-Deselect all items
getSelectedFiles()-Get array of selected file objects

File Operations

MethodParametersPurpose
createFolder(name?)name: string (optional)Create new folder; opens dialog if name not provided
renameFile(id?, name?)id: string, name: stringRename file/folder; opens dialog if params not provided
deleteFiles(ids?)ids: string[]Delete files/folders; opens confirmation if not provided
openFile(id)id: stringOpen file or navigate to folder
downloadFiles(ids?)ids: string[] (optional)Download selected files; downloads selection if not provided
uploadFiles()-Open file upload dialog

Navigation & Refresh

MethodParametersPurpose
refreshFiles()-Refresh current folder contents
refreshLayout()-Refresh component layout
traverseBackward()-Navigate to parent directory
filterFiles(filterData?)filterData: ObjectApply custom filter to displayed files

Toolbar & Menu Control

MethodParametersPurpose
disableToolbarItems(items)items: string[]Disable specific toolbar buttons
enableToolbarItems(items)items: string[]Enable specific toolbar buttons
getToolbarItemIndex(item)item: stringGet toolbar item position
disableMenuItems(items)items: string[]Disable context menu items
enableMenuItems(items)items: string[]Enable context menu items
getMenuItemIndex(item)item: stringGet context menu item position

Dialog Control

MethodParametersPurpose
closeDialog()-Close any open dialog

Component Lifecycle

MethodParametersPurpose
destroy()-Clean up component resources

Events Reference

File Manager provides comprehensive event hooks for customization:

File Selection Events

EventArgsTriggered When
fileSelectionFileSelectionEventArgsFile/folder about to be selected (cancelable)
fileSelectFileSelectEventArgsFile/folder is selected/unselected

File Navigation Events

EventArgsTriggered When
fileOpenFileOpenEventArgsFile/folder about to be opened
fileLoadFileLoadEventArgsFile/folder item is rendered

File Operation Events

EventArgsTriggered When
beforeFolderCreateFolderCreateEventArgsFolder creation requested (cancelable)
folderCreateFolderCreateEventArgsFolder successfully created
beforeRenameRenameEventArgsRename operation requested (cancelable)
renameRenameEventArgsFile/folder successfully renamed
beforeDeleteDeleteEventArgsDeletion requested (cancelable)
deleteDeleteEventArgsFile/folder successfully deleted
beforeMoveMoveEventArgsMove/copy operation started
moveMoveEventArgsFile/folder successfully moved/copied

Drag & Drop Events

EventArgsTriggered When
fileDragStartFileDragEventArgsDrag operation begins
fileDraggingFileDragEventArgsDragging is in progress
fileDragStopFileDragEventArgsDrag about to be dropped (cancelable)
fileDroppedFileDragEventArgsFile/folder successfully dropped

Upload Events

EventArgsTriggered When
uploadListCreateUploadListCreateArgsUpload UI created (pre-upload validation)
beforeDownloadBeforeDownloadEventArgsDownload requested

Menu & Context Events

EventArgsTriggered When
menuOpenMenuOpenEventArgsContext menu about to open
menuCloseMenuCloseEventArgsContext menu closed
menuClickMenuClickEventArgsContext menu item clicked

Search & Dialog Events

EventArgsTriggered When
searchSearchEventArgsUser types in search box
beforePopupOpenBeforePopupOpenCloseEventArgsDialog about to open
popupOpenPopupOpenCloseEventArgsDialog opened
beforePopupCloseBeforePopupOpenCloseEventArgsDialog about to close
popupClosePopupOpenCloseEventArgsDialog closed

AJAX & Server Events

EventArgsTriggered When
beforeSendBeforeSendEventArgsAJAX request sent (add custom headers)
successSuccessEventArgsAJAX request succeeded
failureFailureEventArgsAJAX request failed
beforeImageLoadBeforeImageLoadEventArgsImage/thumbnail request sent

Lifecycle Events

EventArgsTriggered When
createdObjectComponent initialization complete
destroyedObjectComponent destroyed

Toolbar Events

EventArgsTriggered When
toolbarCreateToolbarCreateEventArgsToolbar being created
toolbarClickToolbarClickEventArgsToolbar button clicked

Common Patterns

1. Basic Setup Pattern

import React from 'react';
import { FileManagerComponent, Inject, DetailsView, NavigationPane, Toolbar } from '@syncfusion/ej2-react-filemanager';
import '@syncfusion/ej2-react-filemanager/styles/material.css';

export default function BasicFileManager() {
  return (
    <FileManagerComponent
      id="file"
      ajaxSettings={{
        url: "url",
        getImageUrl: "url",
        uploadUrl: "url",
        downloadUrl: "url"
      }}
      view="Details"
      height="500px"
    >
      <Inject services={[DetailsView, NavigationPane, Toolbar]} />
    </FileManagerComponent>
  );
}

Setup Steps:

  1. Install @syncfusion/ej2-react-filemanager and all peer dependencies
  2. Import CSS theme (material, bootstrap, bootstrap4, fabric, or tailwind)
  3. Configure ajaxSettings endpoints
  4. Choose view (Details or LargeIcons)
  5. Inject required services (features to enable)

2. File Service Backend Pattern

Expected Endpoint Structure:

ajaxSettings={{
  url: "url",
  getImageUrl: "url",
  uploadUrl: "url",
  downloadUrl: "url"
}}

Backend Implementation (ASP.NET Core Example):

[ApiController]
[Route("api/[controller]")]
public class FileManagerController : ControllerBase
{
    [HttpPost("FileOperations")]
    public IActionResult FileOperations(
        [FromForm] string action,
        [FromForm] string path,
        [FromForm] string name = null,
        [FromForm] IFormFile uploadFiles = null)
    {
        switch (action)
        {
            case "read":
                // Return files and folders at given path
                return Ok(new { files = GetDirectoryContents(path) });
            case "create":
                // Create new folder
                Directory.CreateDirectory(Path.Combine(path, name));
                return Ok();
            case "delete":
                // Delete files/folders
                return Ok();
            case "rename":
                // Rename file/folder
                return Ok();
            case "move":
                // Move or copy files
                return Ok();
            default:
                return BadRequest("Invalid action");
        }
    }

    [HttpGet("GetImage")]
    public IActionResult GetImage([FromQuery] string path)
    {
        // Return thumbnail or image file
        var filePath = ResolvePath(path);
        return PhysicalFile(filePath, "image/jpeg");
    }

    [HttpPost("Upload")]
    public IActionResult Upload([FromForm] IFormFile uploadFiles, [FromForm] string path)
    {
        // Handle file upload
        var filePath = Path.Combine(path, uploadFiles.FileName);
        using (var stream = new FileStream(filePath, FileMode.Create))
        {
            uploadFiles.CopyTo(stream);
        }
        return Ok();
    }

    [HttpGet("Download")]
    public IActionResult Download([FromQuery] string path)
    {
        // Return file for download
        var file = System.IO.File.ReadAllBytes(path);
        var fileName = Path.GetFileName(path);
        return File(file, "application/octet-stream", fileName);
    }
}

3. State Management Pattern

import React, { useRef, useState } from 'react';

export default function FileManagerWithState() {
  const fileManagerRef = useRef(null);
  const [selectedFiles, setSelectedFiles] = useState([]);
  const [currentPath, setCurrentPath] = useState('/');

  const handleFileSelect = (args) => {
    setSelectedFiles(args.fileDetails);
  };

  const handleCreateFolder = () => {
    fileManagerRef.current?.createFolder('NewFolder');
  };

  const handleDeleteSelected = () => {
    const ids = selectedFiles.map(f => f.name);
    fileManagerRef.current?.deleteFiles(ids);
  };

  return (
    <div>
      <div className="toolbar">
        <button onClick={handleCreateFolder}>Create Folder</button>
        <button onClick={handleDeleteSelected} disabled={!selectedFiles.length}>
          Delete ({selectedFiles.length})
        </button>
        <span>Path: {currentPath}</span>
      </div>
      <FileManagerComponent
        ref={fileManagerRef}
        fileSelect={handleFileSelect}
        ajaxSettings={{...}}
        height="400px"
      >
        <Inject services={[DetailsView, NavigationPane, Toolbar]} />
      </FileManagerComponent>
    </div>
  );
}

4. Event-Driven Custom Logic Pattern

<FileManagerComponent
  // Prevent deletion of certain files
  beforeDelete={(args) => {
    if (args.fileDetails[0].name.startsWith('.')) {
      args.cancel = true;
      alert('Cannot delete system files');
    }
  }}

  // Add headers to AJAX requests
  beforeSend={(args) => {
    args.headers = { ...args.headers, 'Authorization': `Bearer ${token}` };
  }}

  // Validate before upload
  uploadListCreate={(args) => {
    args.fileDetails.forEach(file => {
      if (file.size > 5000000) { // 5MB limit
        args.cancel = true;
      }
    });
  }}

  // Track successful operations
  success={(args) => {
    console.log('Operation successful:', args.action, args.result);
  }}

  // Handle errors
  failure={(args) => {
    console.error('Operation failed:', args.error);
  }}
/>

5. Customization Pattern

<FileManagerComponent
  // Customize toolbar
  toolbarSettings={{
    items: ['NewFolder', 'Upload', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Download'],
    visible: true
  }}

  // Customize context menu
  contextMenuSettings={{
    file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
    folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename'],
    layout: ['SortBy', 'View', 'Refresh', '|', 'NewFolder', 'Upload'],
    visible: true
  }}

  // Customize columns in details view
  detailsViewSettings={{
    columns: [
      {
        field: 'name',
        headerText: 'Name',
        minWidth: 120,
        template: '<span class="custom-name">${name}</span>'
      },
      {
        field: '_fm_modified',
        headerText: 'Modified',
        type: 'dateTime',
        format: 'MMMM dd, yyyy HH:mm',
        minWidth: 120
      },
      {
        field: 'size',
        headerText: 'Size',
        minWidth: 90,
        template: '<span>${size}</span>'
      }
    ]
  }}

  // Customize navigation pane
  navigationPaneSettings={{
    maxWidth: '650px',
    minWidth: '240px',
    visible: true,
    sortOrder: 'None'
  }}
/>

6. Performance Optimization Pattern

<FileManagerComponent
  // Enable virtualization for large datasets
  enableVirtualization={true}

  // Enable persistence to maintain state
  enablePersistence={true}

  // Configure search settings
  searchSettings={{
    allowSearchOnTyping: true,
    filterType: 'contains',
    ignoreCase: true
  }}

  // Configure upload settings
  uploadSettings={{
    autoUpload: true,
    minFileSize: 0,
    maxFileSize: 30000000, // 30MB
    allowedExtensions: '.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx',
    autoClose: false,
    directoryUpload: false,
    sequentialUpload: false
  }}

  // Sort optimization
  sortBy="name"
  sortOrder="Ascending"
/>

Key Props

Core Configuration

PropTypeDefaultPurpose
ajaxSettingsObjectSee belowConfigure backend endpoints for file operations
pathstring"/"Current folder path
viewstring"LargeIcons"View type: "Details" or "LargeIcons"
widthstring"100%"Component width
heightstring"400px"Component height

Display & Behavior

PropTypeDefaultPurpose
showFileExtensionbooleantrueDisplay file extensions
showHiddenItemsbooleanfalseDisplay hidden files/folders
showThumbnailbooleantrueShow thumbnails in large icons view
showItemCheckBoxesbooleantrueDisplay checkboxes on hover
sortBystring"name"Sort field: "name", "dateModified", "size"
sortOrderstring"Ascending"Sort direction: "Ascending", "Descending", or "None"
enableRtlbooleanfalseRight-to-left layout support
localestring"en-US"Localization language code

Selection & Navigation

PropTypeDefaultPurpose
allowMultiSelectionbooleantrueAllow selecting multiple files
enableRangeSelectionbooleanfalseSelect multiple items by dragging mouse
selectedItemsstring[][]Initially selected file names
allowDragAndDropbooleanfalseEnable drag-drop operations

Performance & Features

PropTypeDefaultPurpose
enableVirtualizationbooleanfalseVirtual scrolling for large datasets
enablePersistencebooleanfalsePersist view, path, and selection state
enableHtmlSanitizerbooleantrueSanitize HTML to prevent XSS attacks
cssClassstring""Custom CSS class for styling
rootAliasNamestringnullDisplay name for root folder
popupTargetHTMLElementnullDialog popup target element

Data & Settings Objects

PropTypePurpose
fileSystemDataObject[]Flat data structure for local files
contextMenuSettingsObjectCustomize context menu items
toolbarSettingsObjectConfigure toolbar items and layout
detailsViewSettingsObjectCustomize columns and column widths
navigationPaneSettingsObjectConfigure sidebar behavior and appearance
searchSettingsObjectConfigure search filtering options
uploadSettingsObjectConfigure upload behavior
sortComparerFunctionCustom sorting function
largeIconsTemplatestring \FunctionCustom template for large icons view
navigationPaneTemplatestring \FunctionCustom template for navigation pane

AJAX Settings Configuration

ajaxSettings={{
  url: "url",     // Main CRUD endpoint (required)
  getImageUrl: "url",   // Thumbnail retrieval
  uploadUrl: "url",       // File upload endpoint
  downloadUrl: "url",   // File download endpoint
  // Optional: Add custom headers
  // headers: { 'Authorization': 'Bearer token' }
}}

Backend Endpoint Expectations:

  • url - Receives POST requests with action parameter:

- read: List files in path - create: Create new folder - delete: Delete file/folder - rename: Rename file/folder - move: Move/copy file (copy or cut) - search: Search files - upload: Handle file uploads - download: Prepare download

  • getImageUrl - GET request with path parameter for thumbnail image URL
  • uploadUrl - POST multipart form data with file upload
  • downloadUrl - Initiate file download stream

Common Use Cases

Case 1: Document Management System

Implement a document browser with upload, download, and folder organization:

  • Use Details view for metadata display
  • Configure context menu for document operations
  • Add search functionality
  • Implement access control on backend

Case 2: Media File Browser

Build a gallery with image/video thumbnails:

  • Use Large Icons view for thumbnail display
  • Configure getImageUrl for preview generation
  • Implement lazy loading for performance
  • Add drag-drop for organization

Case 3: Admin File Manager

Create an internal file management tool:

  • Customize toolbar with admin-specific actions
  • Implement advanced context menu options
  • Add logging and audit trails
  • Configure permissions on backend

Case 4: Localized File Manager

Support multiple languages and RTL:

  • Set locale to user's language
  • Enable enableRtl for RTL languages
  • Customize context menu labels per language
  • Format dates and sizes per locale

Next Steps

  1. Start: Read references/getting-started.md for installation and basic setup
  2. Implement: Choose the feature references that match your requirements
  3. Customize: Review references/customization.md for styling and configuration
  4. Optimize: Check references/advanced-features.md for performance and edge cases
  5. Accessibility: Ensure compliance with references/accessibility-localization.md

平台分布

Codex

35.56%
按下载量换算220

Claude

27.1%
按下载量换算168

Cursor

18.63%
按下载量换算115

Gemini CLI

9.41%
按下载量换算58

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills