index.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <view class="u-demo">
  3. <view class="u-demo-wrap">
  4. <view class="u-demo-title">演示效果</view>
  5. <view class="u-demo-area">
  6. <u-steps :direction="direction" :current="current" :list="steps" :mode="mode" :icon="icon"></u-steps>
  7. </view>
  8. </view>
  9. <view class="u-config-wrap">
  10. <view class="u-config-title u-border-bottom">
  11. 参数配置
  12. </view>
  13. <view class="u-config-item">
  14. <view class="u-item-title">模式</view>
  15. <u-subsection :list="['number', 'dot']" @change="modeChange"></u-subsection>
  16. </view>
  17. <view class="u-config-item">
  18. <view class="u-item-title">方向</view>
  19. <u-subsection :list="['横向', '竖向']" @change="directionChange"></u-subsection>
  20. </view>
  21. <view class="u-config-item">
  22. <view class="u-item-title">自定义图标</view>
  23. <u-subsection :list="['否', '是']" @change="iconChange"></u-subsection>
  24. </view>
  25. <view class="u-config-item">
  26. <view class="u-item-title">当前步值</view>
  27. <u-subsection :list="['1', '2', '3', '4']" @change="stepChange"></u-subsection>
  28. </view>
  29. </view>
  30. </view>
  31. </template>
  32. <script>
  33. export default {
  34. data() {
  35. return {
  36. steps: [{
  37. name: '下单'
  38. }, {
  39. name: '出库'
  40. }, {
  41. name: '运输'
  42. }, {
  43. name: '签收'
  44. }, ],
  45. current: 0,
  46. icon: 'checkmark',
  47. mode: 'number',
  48. direction: 'row'
  49. }
  50. },
  51. methods: {
  52. modeChange(index) {
  53. this.mode = index == 0 ? 'number' : 'dot';
  54. },
  55. stepChange(index) {
  56. this.current = [0, 1, 2, 3][index];
  57. },
  58. iconChange(index) {
  59. this.icon = index == 0 ? 'checkmark' : 'map-fill';
  60. },
  61. directionChange(index) {
  62. this.direction = index == 0 ? 'row' : 'column';
  63. }
  64. }
  65. }
  66. </script>
  67. <style lang="scss" scoped>
  68. .wrap {
  69. padding: 24rpx;
  70. }
  71. .box {
  72. margin: 50rpx 0;
  73. }
  74. </style>