支付宝小程序扩展组件 步骤条·Steps

2020-09-18 11:19 更新

根据步骤显示的进度条。

扫码体验

示例代码

{
 "defaultTitle": "Steps",
 "usingComponents": {
   "steps": "mini-ali-ui/es/steps/index"
 }
}
<steps 
  className="demo-steps-class"
  activeIndex="{{activeIndex}}"
  failIndex="{{failIndex}}"
  items="{{items}}"
>
  <view slot="title_2" style="color: green; font-weight: bold;">titile 的内容</view>
</steps>
<steps 
  className="demo-steps-class"
  activeIndex="{{activeIndex}}"
  failIndex="{{failIndex}}"
  horizHighlight="{{true}}"
  items="{{items2}}"
>
  <view slot="title_2" style="color: green; font-weight: bold;">titile 的内容</view>
  <view slot="desc_4">当前 item 没有 <text style="color: green;">description</text> 时,使用 slot 内容。</view>
</steps>
<steps 
  className="demo-steps-class"
  direction="vertical"
  failIndex="{{failIndex}}"
  activeIndex="{{activeIndex}}"
  items="{{items2}}"
  size="{{size}}"
  showStepNumber="{{showNumberSteps}}"
>
  <view slot="title_2" style="color: green; font-weight: bold;">titile 的内容</view>
  <view slot="desc_4">当前 item 没有 <text style="color: green;">description</text> 时,使用 slot 内容。</view>
</steps>
<view class="demo-btn-container">
  <button class="demo-btn" onTap="preStep">上一步</button>
  <button class="demo-btn" onTap="nextStep">下一步</button>
</view>
<view class="demo-btn-container">
  <button class="demo-btn" onTap="setFailIndex">设置错误项</button>
  <button class="demo-btn" onTap="cancelFailIndex">取消错误项</button>
</view>
<view class="demo-btn-container">
  <button class="demo-btn" onTap="setIconSizeAdd">设置图标大小+</button>
  <button class="demo-btn" onTap="setIconSizeReduce">设置图标大小-</button>
</view>
<button type="primary" onTap="showNumberList">以{{!showNumberSteps?'数字':'图片/icon'}}方式展示步骤序列</button>
Page({
  data: {
    activeIndex: 1,
    failIndex: 0,
    size: 0,
    items: [{
      title: '步骤1',
    }, {
      title: '步骤2',
    }, {
      title: '步骤3',
    }],
    items2: [{
      title: '步骤1',
      description: '这是步骤1的描述文档,文字足够多的时候会换行,设置了成功的icon',
      activeIcon: 'https://i.alipayobjects.com/common/favicon/favicon.ico',
      size: 20,
    }, {
      title: '步骤2 如果标题足够长的话也会换行的',
      description: '这是步骤2,同时设置了两种状态的icon',
      icon: 'https://gw.alipayobjects.com/mdn/miniProgram_mendian/afts/img/A*lVojToO-qZIAAAAAAAAAAABjAQAAAQ/original',
      activeIcon: 'https://i.alipayobjects.com/common/favicon/favicon.ico',
    }, {
      title: '步骤3',
      description: '这是步骤3',
    }, {
      title: '步骤4',
    }],
    showNumberSteps: true,
  },
  nextStep() {
    this.setData({
      activeIndex: this.data.activeIndex + 1,
    });
  },
  preStep() {
    this.setData({
      activeIndex: this.data.activeIndex - 1,
    });
  },
  setFailIndex() {
    this.setData({
      failIndex: 3,
    });
  },
  cancelFailIndex() {
    this.setData({
      failIndex: 0,
    });
  },
  setIconSizeAdd() {
    this.setData({
      size: this.data.size < 30 && this.data.size > 14 ? this.data.size + 1 : 15,
    });
  },
  setIconSizeReduce() {
    this.setData({
      size: this.data.size > 15 ? this.data.size - 1 : 15,
    });
  },
  showNumberList() {
    this.setData({
      showNumberSteps: !this.data.showNumberSteps,
    });
  },
});
.demo-steps-class {
  margin: 20px 0;
  border-bottom: 1px solid #e5e5e5;
}
.demo-btn-container {
  display: flex;
  justify-content: space-between;
  margin: 20px;
}
.demo-btn {
  width: 47%;
}

属性

属性 类型 默认值 描述 必填 最低版本
className String - 最外层覆盖样式。 false -
activeIndex Number 1 当前激活步骤。 true -
failIndex Number 0 当前失败步骤(只在 vertical 模式下生效)。 false -
direction String horizontal 显示方向,可选值:vertical、horizontal。 false -
size Number 0 统一的 icon 大小,单位为 px。 false -
items Array[{title, description, icon, activeIcon, size}] [] 步骤详情。 true -
showStepNumber Boolean false 是否以数字序列展示步骤 icon。 false 1.1.2
horizHighlight Boolean false 用于控制水平方向是否启用高亮展示 title。 false 1.1.3

slot

steps 组件中的 slot 插槽可根据具体的步骤数设置,如有 4 个步骤点,那么可插入 4 个 slot。

slot 名称的格式为:desc_1desc_2desc_n...以此类推,将 n 修改为指定 items 的序列即可。如下列代码将会第 4 个 items 中没有 description 值的时候显示 slot 内容。为了满足需求,当 title 部分没有值时,也可以通过类似方式插入 slot 内容。水平方向与垂直方向的 steps 组件都可以使用这两个 slot。

<view slot="title_2" style="color: green; font-weight: bold;">titile 的内容</view>
<view slot="desc_4">当前 item 没有 <text style="color: green;">description</text> 时,使用 slot 内容。</view>

下表中的 n 代表从 1 开始累加的数字



| slotName | 说明 |
| -------- | ---------------------------------- |
| desc_n | 当无 description 值时可展示的 slot |
| title_n | 当无 title 值时可展示的 slot |

items

属性 类型 默认值 描述 必填
items.title String - 步骤详情标题 true
items.description String - 步骤详情描述 true
items.icon String - 尚未到达步骤的icon(只在vertical模式下生效) true
items.activeIcon String - 已到达步骤的icon(只在vertical模式下生效) true
items.size Number - 已到达步骤icon的图标大小,单位为px(只在vertical模式下生效) true

Bug & Tip

  • 当 showStepNumber 为 true 时将会忽略 items 属性中 icon 相关属性,仅以数字序列方式展示;
  • slot 中的数字与 items 的序列相对应,将会在 items 属性中没有 description 时展示;
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号