• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# stepper<a name="ZH-CN_TOPIC_0000001163812214"></a>
2
3步骤导航器。当完成一个任务需要多个步骤时,可以使用步骤导航器展示当前进展。
4
5>![](../../public_sys-resources/icon-note.gif) **说明:**
6>从API Version 5 开始支持。
7
8## 权限列表<a name="zh-cn_topic_0000001173324583_section11257113618419"></a>
9
1011
12## 子组件<a name="zh-cn_topic_0000001173324583_section9288143101012"></a>
13
14仅支持<stepper-item\>子组件。
15
16>![](../../public_sys-resources/icon-note.gif) **说明:**
17>步骤导航器内的步骤顺序按照子组件<stepper-item\>的顺序进行排序。
18
19## 属性<a name="zh-cn_topic_0000001173324583_section191521418142311"></a>
20
21除支持[通用属性](js-components-common-attributes.md)外,还支持如下属性:
22
23<a name="zh-cn_topic_0000001173324583_table20633101642315"></a>
24<table><thead align="left"><tr id="zh-cn_topic_0000001173324583_row663331618238"><th class="cellrowborder" valign="top" width="25.040000000000003%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001173324583_a45273e2103004ff3bdd3375013e96a2a"><a name="zh-cn_topic_0000001173324583_a45273e2103004ff3bdd3375013e96a2a"></a><a name="zh-cn_topic_0000001173324583_a45273e2103004ff3bdd3375013e96a2a"></a>名称</p>
25</th>
26<th class="cellrowborder" valign="top" width="25.11%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001173324583_ad5b10d4a60e44bb4a8bbb3b4416d7b27"><a name="zh-cn_topic_0000001173324583_ad5b10d4a60e44bb4a8bbb3b4416d7b27"></a><a name="zh-cn_topic_0000001173324583_ad5b10d4a60e44bb4a8bbb3b4416d7b27"></a>类型</p>
27</th>
28<th class="cellrowborder" valign="top" width="11.18%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001173324583_ab2ae3d9f60d6475ab95ba095851a9d07"><a name="zh-cn_topic_0000001173324583_ab2ae3d9f60d6475ab95ba095851a9d07"></a><a name="zh-cn_topic_0000001173324583_ab2ae3d9f60d6475ab95ba095851a9d07"></a>默认值</p>
29</th>
30<th class="cellrowborder" valign="top" width="38.67%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001173324583_af5c3b773ed0a42e589819a6c8d257ca1"><a name="zh-cn_topic_0000001173324583_af5c3b773ed0a42e589819a6c8d257ca1"></a><a name="zh-cn_topic_0000001173324583_af5c3b773ed0a42e589819a6c8d257ca1"></a>描述</p>
31</th>
32</tr>
33</thead>
34<tbody><tr id="zh-cn_topic_0000001173324583_row9173122818343"><td class="cellrowborder" valign="top" width="25.040000000000003%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001173324583_p1517410284349"><a name="zh-cn_topic_0000001173324583_p1517410284349"></a><a name="zh-cn_topic_0000001173324583_p1517410284349"></a>index</p>
35</td>
36<td class="cellrowborder" valign="top" width="25.11%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001173324583_p1174172823415"><a name="zh-cn_topic_0000001173324583_p1174172823415"></a><a name="zh-cn_topic_0000001173324583_p1174172823415"></a>number</p>
37</td>
38<td class="cellrowborder" valign="top" width="11.18%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001173324583_p19174112863417"><a name="zh-cn_topic_0000001173324583_p19174112863417"></a><a name="zh-cn_topic_0000001173324583_p19174112863417"></a>-</p>
39</td>
40<td class="cellrowborder" valign="top" width="38.67%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001173324583_p7174328203414"><a name="zh-cn_topic_0000001173324583_p7174328203414"></a><a name="zh-cn_topic_0000001173324583_p7174328203414"></a>设置步骤导航器步骤显示第几个stepper-item子组件。</p>
41</td>
42</tr>
43</tbody>
44</table>
45
46## 样式<a name="zh-cn_topic_0000001173324583_section72591594253"></a>
47
48支持[通用样式](js-components-common-styles.md)。
49
50>![](../../public_sys-resources/icon-note.gif) **说明:**
51>stepper组件默认占满父容器大小,建议父组件使用应用窗口大小(或者父组件为根节点)来优化体验。
52
53## 事件<a name="zh-cn_topic_0000001173324583_section69611614182911"></a>
54
55除支持[通用事件](js-components-common-events.md)外,还支持如下事件:
56
57<a name="zh-cn_topic_0000001173324583_table836435619510"></a>
58<table><thead align="left"><tr id="zh-cn_topic_0000001173324583_row153658563517"><th class="cellrowborder" valign="top" width="10.481048104810482%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001173324583_a0ff86a4560fa46bfbeb711d109869422"><a name="zh-cn_topic_0000001173324583_a0ff86a4560fa46bfbeb711d109869422"></a><a name="zh-cn_topic_0000001173324583_a0ff86a4560fa46bfbeb711d109869422"></a>名称</p>
59</th>
60<th class="cellrowborder" valign="top" width="41.91419141914191%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001173324583_a4c85eb8ca18b4169a25c4a9263fa63ed"><a name="zh-cn_topic_0000001173324583_a4c85eb8ca18b4169a25c4a9263fa63ed"></a><a name="zh-cn_topic_0000001173324583_a4c85eb8ca18b4169a25c4a9263fa63ed"></a>参数</p>
61</th>
62<th class="cellrowborder" valign="top" width="47.6047604760476%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001173324583_ab30b2353efa245fbad4d2aaa2ee33def"><a name="zh-cn_topic_0000001173324583_ab30b2353efa245fbad4d2aaa2ee33def"></a><a name="zh-cn_topic_0000001173324583_ab30b2353efa245fbad4d2aaa2ee33def"></a>描述</p>
63</th>
64</tr>
65</thead>
66<tbody><tr id="zh-cn_topic_0000001173324583_row990553521718"><td class="cellrowborder" valign="top" width="10.481048104810482%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001173324583_p1390619353170"><a name="zh-cn_topic_0000001173324583_p1390619353170"></a><a name="zh-cn_topic_0000001173324583_p1390619353170"></a>finish</p>
67</td>
68<td class="cellrowborder" valign="top" width="41.91419141914191%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001173324583_p7906113541716"><a name="zh-cn_topic_0000001173324583_p7906113541716"></a><a name="zh-cn_topic_0000001173324583_p7906113541716"></a>无</p>
69</td>
70<td class="cellrowborder" valign="top" width="47.6047604760476%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001173324583_p7906113531711"><a name="zh-cn_topic_0000001173324583_p7906113531711"></a><a name="zh-cn_topic_0000001173324583_p7906113531711"></a>当步骤导航器最后一个步骤完成时触发该事件。</p>
71</td>
72</tr>
73<tr id="zh-cn_topic_0000001173324583_row24211338161718"><td class="cellrowborder" valign="top" width="10.481048104810482%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001173324583_p2421113881715"><a name="zh-cn_topic_0000001173324583_p2421113881715"></a><a name="zh-cn_topic_0000001173324583_p2421113881715"></a>skip</p>
74</td>
75<td class="cellrowborder" valign="top" width="41.91419141914191%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001173324583_p16421133841719"><a name="zh-cn_topic_0000001173324583_p16421133841719"></a><a name="zh-cn_topic_0000001173324583_p16421133841719"></a>无</p>
76</td>
77<td class="cellrowborder" valign="top" width="47.6047604760476%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001173324583_p1342113381171"><a name="zh-cn_topic_0000001173324583_p1342113381171"></a><a name="zh-cn_topic_0000001173324583_p1342113381171"></a>当通过setNextButtonStatus方法设置当前步骤导航器可跳过时,点击右侧跳过按钮触发该事件。</p>
78</td>
79</tr>
80<tr id="zh-cn_topic_0000001173324583_row153591438186"><td class="cellrowborder" valign="top" width="10.481048104810482%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001173324583_p163591032182"><a name="zh-cn_topic_0000001173324583_p163591032182"></a><a name="zh-cn_topic_0000001173324583_p163591032182"></a>change</p>
81</td>
82<td class="cellrowborder" valign="top" width="41.91419141914191%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001173324583_p1535910381819"><a name="zh-cn_topic_0000001173324583_p1535910381819"></a><a name="zh-cn_topic_0000001173324583_p1535910381819"></a>{ prevIndex:prevIndex, index: index}</p>
83</td>
84<td class="cellrowborder" valign="top" width="47.6047604760476%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001173324583_p113602034189"><a name="zh-cn_topic_0000001173324583_p113602034189"></a><a name="zh-cn_topic_0000001173324583_p113602034189"></a>当步骤导航器点击左边或者右边文本按钮进行步骤切换时触发该事件,prevIndex表示老步骤的序号,index表示新步骤的序号。</p>
85</td>
86</tr>
87<tr id="zh-cn_topic_0000001173324583_row6686131145112"><td class="cellrowborder" valign="top" width="10.481048104810482%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001173324583_p126879113514"><a name="zh-cn_topic_0000001173324583_p126879113514"></a><a name="zh-cn_topic_0000001173324583_p126879113514"></a>next</p>
88</td>
89<td class="cellrowborder" valign="top" width="41.91419141914191%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001173324583_p06871911115113"><a name="zh-cn_topic_0000001173324583_p06871911115113"></a><a name="zh-cn_topic_0000001173324583_p06871911115113"></a>{ index:index, pendingIndex: pendingIndex }</p>
90</td>
91<td class="cellrowborder" valign="top" width="47.6047604760476%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001173324583_p18140235202411"><a name="zh-cn_topic_0000001173324583_p18140235202411"></a><a name="zh-cn_topic_0000001173324583_p18140235202411"></a>当用户点击下一步按钮时触发该事件,index表示当前步骤序号,pendingIndex表示将于跳转的序号,该事件有返回值,返回值格式为:{ pendingIndex:pendingIndex },可以通过指定pendingIndex来修改下一个步骤使用哪个stepper-item子组件。</p>
92</td>
93</tr>
94<tr id="zh-cn_topic_0000001173324583_row914118186514"><td class="cellrowborder" valign="top" width="10.481048104810482%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001173324583_p1414151817510"><a name="zh-cn_topic_0000001173324583_p1414151817510"></a><a name="zh-cn_topic_0000001173324583_p1414151817510"></a>back</p>
95</td>
96<td class="cellrowborder" valign="top" width="41.91419141914191%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001173324583_p16910122113429"><a name="zh-cn_topic_0000001173324583_p16910122113429"></a><a name="zh-cn_topic_0000001173324583_p16910122113429"></a>{ index:index, pendingIndex: pendingIndex }</p>
97</td>
98<td class="cellrowborder" valign="top" width="47.6047604760476%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001173324583_p714261895119"><a name="zh-cn_topic_0000001173324583_p714261895119"></a><a name="zh-cn_topic_0000001173324583_p714261895119"></a>当用户点击上一步按钮时触发该事件,index表示当前步骤序号,pendingIndex表示将于跳转的序号,该事件有返回值,返回值格式为Object:{ pendingIndex:pendingIndex },可以通过指定pendingIndex来修改上一个步骤使用哪个stepper-item子组件。</p>
99</td>
100</tr>
101</tbody>
102</table>
103
104## 方法<a name="zh-cn_topic_0000001173324583_section1954212182148"></a>
105
106除支持[通用方法](js-components-common-methods.md)外,支持如下方法:
107
108<a name="zh-cn_topic_0000001173324583_table12793153991411"></a>
109<table><thead align="left"><tr id="zh-cn_topic_0000001173324583_row15793239141412"><th class="cellrowborder" valign="top" width="19.561956195619562%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001173324583_p9794143915141"><a name="zh-cn_topic_0000001173324583_p9794143915141"></a><a name="zh-cn_topic_0000001173324583_p9794143915141"></a>名称</p>
110</th>
111<th class="cellrowborder" valign="top" width="24.102410241024103%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001173324583_p107942395147"><a name="zh-cn_topic_0000001173324583_p107942395147"></a><a name="zh-cn_topic_0000001173324583_p107942395147"></a>参数</p>
112</th>
113<th class="cellrowborder" valign="top" width="56.33563356335634%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001173324583_p11794133913143"><a name="zh-cn_topic_0000001173324583_p11794133913143"></a><a name="zh-cn_topic_0000001173324583_p11794133913143"></a>描述</p>
114</th>
115</tr>
116</thead>
117<tbody><tr id="zh-cn_topic_0000001173324583_row157940399145"><td class="cellrowborder" valign="top" width="19.561956195619562%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001173324583_p1479453913144"><a name="zh-cn_topic_0000001173324583_p1479453913144"></a><a name="zh-cn_topic_0000001173324583_p1479453913144"></a>setNextButtonStatus</p>
118</td>
119<td class="cellrowborder" valign="top" width="24.102410241024103%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001173324583_p10794163914147"><a name="zh-cn_topic_0000001173324583_p10794163914147"></a><a name="zh-cn_topic_0000001173324583_p10794163914147"></a>{ status: string, label: label }</p>
120</td>
121<td class="cellrowborder" valign="top" width="56.33563356335634%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001173324583_p12794143917141"><a name="zh-cn_topic_0000001173324583_p12794143917141"></a><a name="zh-cn_topic_0000001173324583_p12794143917141"></a>设置当前步骤导航器下一步文本按钮的状态,参数中status类型为string,可选值为:</p>
122<a name="zh-cn_topic_0000001173324583_ol12242138121713"></a><a name="zh-cn_topic_0000001173324583_ol12242138121713"></a><ol id="zh-cn_topic_0000001173324583_ol12242138121713"><li>normal:正常状态,下一步文本按钮正常显示,可点击进入下一个步骤;</li><li>disabled:不可用状态,下一步文本按钮灰度显示,不可点击进入下一个步骤;</li><li>waiting:等待状态,下一步文本按钮不显示,使用等待进度条,不可点击进入下一个步骤。</li><li>skip:跳过状态,下一步文本按钮显示跳过按钮,点击时会跳过剩下步骤。</li></ol>
123</td>
124</tr>
125</tbody>
126</table>
127
128## 示例<a name="zh-cn_topic_0000001173324583_section15374183712313"></a>
129
130```
131<!-- xxx.hml -->
132<div class = "container">
133  <stepper class="stepper" id="mystepper" index="0"  onnext="nextclick" onback="backclick">
134    <stepper-item class ="stepperItem" label="{{label_1}}">
135      <div class = "stepperItemContent" >
136        <text class = "text">First screen</text>
137      </div>
138      <button type="capsule" class ="button" value="setRightButtonStatus" onclick="setRightButton"></button>
139    </stepper-item>
140    <stepper-item class ="stepperItem" label="{{label_2}}">
141      <div class = "stepperItemContent" >
142        <text class = "text">Second screen</text>
143      </div>
144      <button type="capsule" class ="button" value="setRightButtonStatus" onclick="setRightButton"></button>
145    </stepper-item>
146    <stepper-item class ="stepperItem" label="{{label_3}}">
147      <div class = "stepperItemContent" >
148        <text class = "text">Third screen</text>
149      </div>
150      <button type="capsule" class ="button" value="setRightButtonStatus" onclick="setRightButton"></button>
151    </stepper-item>
152  </stepper>
153</div>
154```
155
156```
157/* xxx.css */
158.container {
159  margin-top: 20px;
160  flex-direction: column;
161  align-items: center;
162  height: 300px;
163}
164.stepperItem {
165  flex-direction: column;
166  align-items: center;
167}
168.stepperItemContent {
169  color: #0000ff;
170  font-size: 50px;
171  justify-content: center;
172}
173.button {
174  width: 60%;
175  margin-top: 30px;
176  justify-content: center;
177}
178```
179
180```
181// xxx.js
182export default {
183  data: {
184    label_1:
185    {
186       prevLabel: 'BACK',
187       nextLabel: 'NEXT',
188       status: 'normal'
189     },
190     label_2:
191     {
192       prevLabel: 'BACK',
193       nextLabel: 'NEXT',
194       status: 'normal'
195     },
196     label_3:
197     {
198        prevLabel: 'BACK',
199        nextLabel: 'NEXT',
200        status: 'normal'
201     },
202  },
203  setRightButton(e) {
204    this.$element('mystepper').setNextButtonStatus({status: 'skip', label: 'SKIP'});
205  },
206  nextclick(e) {
207    var index = {
208      pendingIndex: e.pendingIndex
209    }
210    return index;
211  },
212  backclick(e) {
213    var index = {
214        pendingIndex: e.pendingIndex
215    }
216    return index;
217  },
218}
219```
220
221![](figures/Video_2021-03-26_154549.gif)
222
223