Sanakey
2021-01-31 53cc6f817625897935fb10c3845ad7be400f3036
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<wxs src="../wxs/utils.wxs" module="utils" />
 
<view class="custom-class {{ utils.bem('steps', [direction]) }}">
  <view class="van-step__wrapper">
    <view
      wx:for="{{ steps }}"
      wx:key="index"
      bindtap="onClick"
      data-index="{{ index }}"
      class="{{ utils.bem('step', [direction, status(index, active)]) }} van-hairline"
      style="{{ status(index, active) === 'inactive' ? 'color: ' + inactiveColor: '' }}"
    >
      <view class="van-step__title" style="{{ index === active ? 'color: ' + activeColor : '' }}">
        <view>{{ item.text }}</view>
        <view class="desc-class">{{ item.desc }}</view>
      </view>
      <view class="van-step__circle-container">
        <block wx:if="{{ index !== active }}">
          <van-icon
            wx:if="{{ item.inactiveIcon || inactiveIcon }}"
            color="{{ status(index, active) === 'inactive' ? inactiveColor: activeColor }}"
            name="{{ item.inactiveIcon || inactiveIcon }}"
            custom-class="van-step__icon"
          />
          <view
            wx:else
            class="van-step__circle"
            style="{{ 'background-color: ' + (index < active ? activeColor : inactiveColor) }}"
          />
        </block>
 
        <van-icon wx:else name="{{ item.activeIcon || activeIcon }}" color="{{ activeColor }}" custom-class="van-step__icon" />
      </view>
      <view
        wx:if="{{ index !== steps.length - 1 }}"
        class="van-step__line" style="{{ 'background-color: ' + (index < active ? activeColor : inactiveColor) }}"
      />
    </view>
  </view>
</view>
 
<wxs module="status">
function get(index, active) {
  if (index < active) {
    return 'finish';
  } else if (index === active) {
    return 'process';
  }
 
  return 'inactive';
}
 
module.exports = get;
</wxs>