city-casereport/miniprogram_npm/tdesign-miniprogram/steps/README.md
2023-12-06 14:22:42 +08:00

130 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Steps 步骤条
description: 用于任务步骤展示或任务进度展示。
spline: navigation
isComponent: true
---
<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-98%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-88%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-96%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-82%25-blue" /></span>
## 引入
全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
```json
"usingComponents": {
"t-steps": "tdesign-miniprogram/steps/steps",
"t-step-item": "tdesign-miniprogram/step-item/step-item",
}
```
## 代码演示
步骤条,方向可以横向和纵向,可以自定义步骤条显示内容以及是否可写
### 组件类型
#### 水平步骤条
支持三种类型:序号、图标、简略
{{ horizontal }}
#### 垂直步骤条
支持三种类型:序号、图标、简略
{{ vertical }}
### 组件状态
#### 选项卡状态
共支持 4 种状态未完成default、已完成finish、进行中process、错误error
{{ status }}
### 特殊类型
通过已有特性,改造出两种常见类型:
- 垂直自定义(在 Cascader 中使用)
- 纯展示步骤条
可以参考以下代码实现
{{ special }}
## API
### Steps Props
名称 | 类型 | 默认值 | 说明 | 必传
-- | -- | -- | -- | --
current | String / Number | - | 当前步骤,即整个步骤条进度。默认根据步骤下标判断步骤的完成状态,当前步骤为进行中,当前步骤之前的步骤为已完成,当前步骤之后的步骤为未开始。如果每个步骤没有设置 valuecurrent 值为步骤长度则表示所有步骤已完成。如果每个步骤设置了自定义 value则 current = 'FINISH' 表示所有状态完成 | N
default-current | String / Number | undefined | 当前步骤,即整个步骤条进度。默认根据步骤下标判断步骤的完成状态,当前步骤为进行中,当前步骤之前的步骤为已完成,当前步骤之后的步骤为未开始。如果每个步骤没有设置 valuecurrent 值为步骤长度则表示所有步骤已完成。如果每个步骤设置了自定义 value则 current = 'FINISH' 表示所有状态完成。非受控属性 | N
current-status | String | process | 用于控制 current 指向的步骤条的状态。可选项default/process/finish/error | N
layout | String | horizontal | 步骤条方向有两种横向和纵向。可选项horizontal/vertical | N
readonly | Boolean | false | 只读状态 | N
sequence | String | positive | 步骤条顺序。可选项positive/reverse | N
theme | String | default | 步骤条风格。可选项default/dot | N
### Steps Events
名称 | 参数 | 描述
-- | -- | --
change | `({current: string \| number, previous: string \| number})` | 当前步骤发生变化时触发
### Steps 外部样式类
类名 | 说明
-- | --
t-class | 根节点样式类
### StepItem Props
名称 | 类型 | 默认值 | 说明 | 必传
-- | -- | -- | -- | --
content | String / Slot | '' | 步骤描述。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N
icon | String / Slot | - | 图标。传入 slot 代表使用插槽,其他字符串代表使用内置图标。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N
status | String | default | 当前步骤的状态默认状态未开始、进行中状态、完成状态、错误状态。可选项default/process/finish/error。TS 类型:`StepStatus` `type StepStatus = 'default' \| 'process' \| 'finish' \| 'error'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/step-item/type.ts) | N
sub-step-items | Array | [] | 已废弃。子步骤条,仅支持 layout = 'vertical' 时。TS 类型:`SubStepItem[]` `interface SubStepItem { status: StepStatus, title: string }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/step-item/type.ts) | N
title | String / Slot | '' | 标题。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N
### StepItem 外部样式类
类名 | 说明
-- | --
t-class | 根节点样式类
t-class-content | 内容样式类
t-class-title | 标题样式类
t-class-description | 描述样式类
t-class-extra | 额外样式类
### CSS 变量
组件提供了下列 CSS 变量,可用于自定义样式。
名称 | 默认值 | 描述
-- | -- | --
--td-step-item-circle-font-size | 28rpx | -
--td-step-item-circle-size | 44rpx | -
--td-step-item-default-circle-bg | @bg-color-secondarycontainer | -
--td-step-item-default-circle-color | @font-gray-3 | -
--td-step-item-default-dot-border-color | @component-border | -
--td-step-item-default-icon-color | @font-gray-3 | -
--td-step-item-default-title-color | @font-gray-3 | -
--td-step-item-description-color | @font-gray-3 | -
--td-step-item-dot-size | 16rpx | -
--td-step-item-error-circle-bg | @error-color-1 | -
--td-step-item-error-circle-color | @error-color | -
--td-step-item-error-dot-border-color | @error-color | -
--td-step-item-error-icon-color | @error-color | -
--td-step-item-error-title-color | @error-color | -
--td-step-item-finish-circle-bg | @brand-color-light | -
--td-step-item-finish-circle-color | @brand-color | -
--td-step-item-finish-dot-border-color | @brand-color | -
--td-step-item-finish-icon-color | @brand-color | -
--td-step-item-finish-line-color | @brand-color | -
--td-step-item-finish-title-color | @font-gray-1 | -
--td-step-item-line-color | @component-border | -
--td-step-item-process-circle-bg | @brand-color | -
--td-step-item-process-circle-color | @font-white-1 | -
--td-step-item-process-dot-border-color | @brand-color | -
--td-step-item-process-icon-color | @brand-color | -
--td-step-item-process-title-color | @brand-color | -