# @duskmoon-dev/el-stepper 中文文档

规范地址：https://npmcn.com/package/%40duskmoon-dev/el-stepper/

版本：1\.10\.3
npm 元数据更新时间：2026-11-11T10:57:07.975Z
中文译文更新时间：2026-11-13T01:47:17.720Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40duskmoon-dev/el-stepper
原文对照：https://npmcn.com/package/%40duskmoon-dev/el-stepper/?lang=original
项目主页：https://github.com/duskmoon-dev/duskmoon-elements#readme
源码仓库：https://github.com/duskmoon-dev/duskmoon-elements

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：132 kB，17 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-01-13T08:42:59.872Z
- 最新版本发布：2026-11-11T10:57:07.462Z
- 近 30 天下载量：2591（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：51（近 12 个月 51 个）

## 中文简介

用Web组件构建的分步指标部分.

## 安装

```sh
npm install @duskmoon-dev/el-stepper
```

也可以使用：`pnpm add @duskmoon-dev/el-stepper`、`yarn add @duskmoon-dev/el-stepper`、`bun add @duskmoon-dev/el-stepper`

## README

# @duskmoon-dev/el-stepper (日语)

用Web组件构建的分步指标部分.

## 安装

```bash
bun add @duskmoon-dev/el-stepper
```

## 使用量

### 自动注册

```typescript
import '@duskmoon-dev/el-stepper/register';
```

```html
<el-dm-stepper current="1"></el-dm-stepper>
```

### 手工登记

```typescript
import { ElDmStepper, register } from '@duskmoon-dev/el-stepper';

// Register with default tag name
register();

// Or register with custom tag name
customElements.define('my-stepper', ElDmStepper);
```

### 通过 JavaScript 设置步骤

```javascript
const stepper = document.querySelector('el-dm-stepper');
stepper.steps = [
  { label: 'Account', description: 'Create your account' },
  { label: 'Profile', description: 'Add profile details' },
  { label: 'Review', description: 'Review and submit' },
];
```

## 方向

| 方向 | 说明 |
| --- | --- |
| `horizontal` | 水平布局( 默认) |
| `vertical` | 垂直布局 |

## 属性

| 属性 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `current` | `number` | `0` | 当前步骤指数(基于0) |
| `orientation` | `string` | `'horizontal'` | 布局方向 |
| `color` | `string` | `'primary'` | 颜色变体 |
| `clickable` | `boolean` | `false` | 允许点击来导航 |

## CSS 组件

| 编 | 说明 |
| --- | --- |
| `stepper` | 脚步容器 |
| `step` | 每个步骤元素 |
| `indicator` | 步号/icon |
| `content` | 步骤内容包装 |
| `label` | 步骤标签 |
| `description` | 步骤说明 |
| `connector` | 台阶之间的线条 |

## 活动

| 活动 | 细节 | 说明 |
| --- | --- | --- |
| `change` | `{ step, index }` | 步数变化时被解除 |

## 实例

### 基础

```html
<el-dm-stepper id="stepper" current="0"></el-dm-stepper>
<script>
  document.querySelector('#stepper').steps = [
    { label: 'Step 1' },
    { label: 'Step 2' },
    { label: 'Step 3' },
  ];
</script>
```

### 有说明

```javascript
stepper.steps = [
  { label: 'Details', description: 'Enter your information' },
  { label: 'Payment', description: 'Choose payment method' },
  { label: 'Confirm', description: 'Review your order' },
];
```

### 垂直方向

```html
<el-dm-stepper orientation="vertical"></el-dm-stepper>
```

### 可点击步骤

```html
<el-dm-stepper clickable></el-dm-stepper>
```

### 带有导航按钮

```html
<el-dm-stepper id="stepper" current="0"></el-dm-stepper>
<div>
  <el-dm-button id="prev">Previous</el-dm-button>
  <el-dm-button id="next">Next</el-dm-button>
</div>

<script>
  const stepper = document.querySelector('#stepper');
  stepper.steps = [
    { label: 'Step 1' },
    { label: 'Step 2' },
    { label: 'Step 3' },
  ];

  document.querySelector('#prev').addEventListener('click', () => {
    if (stepper.current > 0) stepper.current--;
  });

  document.querySelector('#next').addEventListener('click', () => {
    if (stepper.current < stepper.steps.length - 1) stepper.current++;
  });
</script>
```

### 窗体向导

```html
<el-dm-stepper id="wizard" current="0"></el-dm-stepper>
<div id="step-content">
  <!-- Step content changes based on current step -->
</div>

<script>
  const stepper = document.querySelector('#wizard');
  const content = document.querySelector('#step-content');

  stepper.steps = [
    { label: 'Personal', description: 'Basic info' },
    { label: 'Contact', description: 'Contact details' },
    { label: 'Finish', description: 'Complete' },
  ];

  stepper.addEventListener('change', (e) => {
    // Update content based on step
    loadStepContent(e.detail.index);
  });
</script>
```

## 许可证

麻省理工学院

## 常见问题

### @duskmoon-dev/el-stepper 是什么？

用Web组件构建的分步指标部分\.

### 如何安装 @duskmoon-dev/el-stepper？

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

### @duskmoon-dev/el-stepper 支持 TypeScript 吗？

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

### @duskmoon-dev/el-stepper 支持 ESM 还是 CommonJS？

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

### @duskmoon-dev/el-stepper 可以商用吗？

@duskmoon-dev/el-stepper 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @duskmoon-dev/el-stepper 的下载量有多少？

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

### @duskmoon-dev/el-stepper 还在维护吗？

最新版本 1\.10\.3 发布于 2026/11/11（2 天前）；至今共发布 51 个版本，其中过去 12 个月发布了 51 个；首次发布于 2026/01/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

