@duskmoon-dev/el-cascader

中文文档
1.10.3发布于 2026/11/11MITTypeScriptESM + CJS构建来源已验证近 30 天下载 2492

DuskMoon Cascader custom element for multi-level cascading selection

原始使用文档
文档目录8 节
  1. Installation
  2. Usage
  3. Features
  4. Setting Options
  5. Async Loading
  6. Properties
  7. Events
  8. License

@duskmoon-dev/el-cascader

A multi-panel cascading selection component for hierarchical data.

Installation

npm install @duskmoon-dev/el-cascader

Usage

// Auto-register the element
import '@duskmoon-dev/el-cascader/register';

// Or manually register
import { register } from '@duskmoon-dev/el-cascader';
register();
<el-dm-cascader placeholder="Select location..."></el-dm-cascader>

Features

  • Multi-Panel Layout: Visual hierarchy with side-by-side panels
  • Click or Hover Expand: Choose how panels expand
  • Multiple Selection: Select multiple paths
  • Searchable: Filter through all levels
  • Async Loading: Load children on demand
  • Clearable: Clear selection with a button
  • Keyboard Navigation: Full keyboard support

Setting Options

const cascader = document.querySelector('el-dm-cascader');

cascader.setOptions([
  {
    value: 'usa',
    label: 'United States',
    children: [
      {
        value: 'california',
        label: 'California',
        children: [
          { value: 'sf', label: 'San Francisco' },
          { value: 'la', label: 'Los Angeles' }
        ]
      }
    ]
  }
]);

Async Loading

// Set initial options with leaf: false
cascader.setOptions([
  { value: 'category1', label: 'Category 1', leaf: false }
]);

// Set async loader
cascader.setLoadData(async (option) => {
  const response = await fetch(`/api/children/${option.value}`);
  return response.json();
});

Properties

PropertyTypeDefaultDescription
valuestring''Selected path (JSON array)
placeholderstring''Placeholder text
disabledbooleanfalseDisable the cascader
multiplebooleanfalseEnable multi-select
searchablebooleanfalseEnable search
clearablebooleanfalseShow clear button
change-on-selectbooleanfalseAllow non-leaf selection
expand-trigger'click' | 'hover''click'Panel expand trigger
separatorstring' / 'Display path separator
show-all-levelsbooleantrueShow full path or leaf only
size'sm' | 'md' | 'lg''md'Size variant

Events

EventDetailDescription
change{ value, selectedOptions, path }Selection changed
expand{ option, level }Panel expanded
search{ searchValue }Search text changed

License

MIT

版本与发布记录

@duskmoon-dev/el-cascader 共发布 50 个版本,首次发布于 2026/01/19;过去 12 个月发布了 50 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.10.3latest2026/11/112 天前
1.10.22026/10/2222 天前
1.10.12026/10/1627 天前
1.10.02026/10/1628 天前
1.9.32026/10/131 个月前
1.9.22026/10/131 个月前

关于 @duskmoon-dev/el-cascader 的常见问题

@duskmoon-dev/el-cascader 是什么?

DuskMoon Cascader custom element for multi-level cascading selection

如何安装 @duskmoon-dev/el-cascader?

在项目目录运行 npm install @duskmoon-dev/el-cascader,或使用 pnpm add / yarn add / bun add。

@duskmoon-dev/el-cascader 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@duskmoon-dev/el-cascader 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@duskmoon-dev/el-cascader 可以商用吗?

@duskmoon-dev/el-cascader 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@duskmoon-dev/el-cascader 的下载量有多少?

根据 npm 官方下载统计,@duskmoon-dev/el-cascader 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,492 次,日均约 83 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@duskmoon-dev/el-cascader 还在维护吗?

最新版本 1.10.3 发布于 2026/11/11(2 天前);至今共发布 50 个版本,其中过去 12 个月发布了 50 个;首次发布于 2026/01/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。