uni-app 步骤条插件需求

发布于 1周前 作者 wuwangju 来自 Uni-App

uni-app 步骤条插件需求

我用按钮替代手指点击,按一下按钮。右边出来一个步骤,左边隐藏一个步骤。

2 回复

具体UI图,可以做


在uni-app中实现步骤条插件的需求,可以通过自定义组件或者利用现有的UI框架(如uView、Vant Weapp等)中的步骤条组件来完成。下面我将展示一个使用自定义组件实现简单步骤条的示例代码。

步骤条组件代码(Stepper.vue)

<template>
  <view class="stepper">
    <view v-for="(step, index) in steps" :key="index" :class="['step', { active: index < currentIndex }]">
      <text>{{ step.title }}</text>
    </view>
  </view>
</template>

<script>
export default {
  props: {
    steps: {
      type: Array,
      required: true
    },
    current: {
      type: Number,
      required: true
    }
  },
  data() {
    return {
      currentIndex: this.current
    };
  },
  watch: {
    current(newVal) {
      this.currentIndex = newVal;
    }
  }
};
</script>

<style scoped>
.stepper {
  display: flex;
  justify-content: space-between;
}
.step {
  flex: 1;
  text-align: center;
  padding: 10px 0;
  position: relative;
}
.step.active::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  background-color: #409EFF;
}
.step text {
  color: #333;
}
.step.active text {
  font-weight: bold;
  color: #409EFF;
}
</style>

使用步骤条组件

在你的页面中使用上述步骤条组件:

<template>
  <view>
    <Stepper :steps="steps" :current="currentStep" />
    <button @click="nextStep">Next</button>
  </view>
</template>

<script>
import Stepper from '@/components/Stepper.vue';

export default {
  components: {
    Stepper
  },
  data() {
    return {
      steps: [
        { title: 'Step 1' },
        { title: 'Step 2' },
        { title: 'Step 3' }
      ],
      currentStep: 0
    };
  },
  methods: {
    nextStep() {
      if (this.currentStep < this.steps.length - 1) {
        this.currentStep++;
      }
    }
  }
};
</script>

这个示例展示了如何创建一个简单的步骤条组件,并在页面中使用它。你可以根据需要进一步自定义样式和功能,例如添加步骤完成状态、图标等。通过调整steps数组和currentStep数据,你可以轻松控制步骤条的内容和当前步骤。

回到顶部