step-item.wxml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <wxs src="../common/utils.wxs" module="_" />
  2. <wxs src="./step-item.wxs" module="t" />
  3. <view
  4. style="{{_._style([style, customStyle])}}"
  5. class="{{_.cls(classPrefix, [layout, ['readonly', readonly]])}} class {{prefix}}-class"
  6. bind:tap="onTap"
  7. aria-role="{{ariaRole || readonly ? 'option' : 'button'}}"
  8. aria-label="{{ariaLabel || t.getAriaLabel(index, title, content)}}"
  9. aria-current="{{curStatus == 'process'? 'step': ''}}"
  10. >
  11. <!-- icon -->
  12. <view class="{{_.cls(classPrefix + '__anchor', [layout])}}" aria-hidden="true">
  13. <view wx:if="{{isDot}}" class="{{_.cls(classPrefix + '__dot', [curStatus])}}" />
  14. <view wx:elif="{{icon}}" class="{{_.cls(classPrefix + '__icon', [curStatus])}}">
  15. <slot name="icon" />
  16. <t-icon name="{{icon}}" size="22" />
  17. </view>
  18. <view wx:else class="{{_.cls(classPrefix + '__circle', [curStatus])}}">
  19. <t-icon wx:if="{{curStatus == 'finish'}}" name="check" />
  20. <t-icon wx:elif="{{curStatus == 'error'}}" name="close" />
  21. <block wx:else>{{index + 1}}</block>
  22. </view>
  23. </view>
  24. <!-- content -->
  25. <view
  26. class="{{_.cls(classPrefix + '__content', [layout, ['last', isLastChild]])}} {{prefix}}-class-content"
  27. aria-hidden="true"
  28. >
  29. <slot />
  30. <view class="{{_.cls(classPrefix + '__title', [curStatus, layout])}} {{prefix}}-class-title">
  31. {{ title }}
  32. <slot name="title" />
  33. <slot wx:if="{{layout === 'vertical'}}" name="title-right" />
  34. </view>
  35. <view class="{{_.cls(classPrefix + '__description', [layout])}} {{prefix}}-class-description">
  36. {{ content }}
  37. <slot name="content" />
  38. </view>
  39. <view class="{{_.cls(classPrefix + '__extra', [layout])}} {{prefix}}-class-extra">
  40. <slot name="extra" />
  41. </view>
  42. </view>
  43. <view
  44. wx:if="{{!isLastChild}}"
  45. class="{{_.cls(classPrefix + '__line', [curStatus, layout, theme])}}"
  46. aria-hidden="true"
  47. />
  48. </view>