uniapp でステップ バー コンポーネントを実装する方法
ステップ バーは、現在の操作の進行状況とステータスを表示するために使用される一般的なインターフェイス要素です。 uniappでは、コンポーネントをカスタマイズすることでステップバーコンポーネントを実装できます。この記事では、ステップバーコンポーネントの実装方法を詳しく紹介し、参考用のサンプルコードを添付します。
ステップ バー コンポーネントの設計
コードを書き始める前に、ステップ バー コンポーネントのスタイルと構造を設計する必要があります。基本的なステップ バー コンポーネントには通常、次の部分が含まれます。
上記の設計に基づいて、StepBar
という名前のカスタム コンポーネントを作成して、ステップ バー コンポーネントを実装できます。
コードの実装
まず、uniapp プロジェクトに新しいコンポーネント ファイル StepBar.vue
を作成し、次のコードをそのファイルにコピーします:
<template> <view class="step-bar"> <view class="step-line" :style="{width: line}" ></view> <view v-for="(step, index) in steps" :key="index" class="step-node" :class="{'active': index === current}"> <image v-if="!step.text" :src="step.icon" class="step-icon" /> <text v-else class="step-text">{{step.text}}</text> </view> </view> </template> <script> export default { props: { steps: { type: Array, default: () => [] }, current: { type: Number, default: 0 } }, computed: { line() { // 计算步骤线的宽度 return (100 / (this.steps.length - 1) * this.current) + '%'; } } } </script> <style> .step-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; } .step-line { height: 2px; background-color: #ebeef5; } .step-node { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; background-color: #ebeef5; } .step-node.active { background-color: #409eff; } .step-icon { width: 30px; height: 30px; } .step-text { font-size: 12px; color: #333; } </style>
上記のコードは、StepBar
コンポーネントの基本機能を実装しています。このコンポーネントは 2 つの props パラメータを受け入れます:
steps
: 各ステップを含む配列、各ステップには icon
と text
2 つのフィールドが含まれます。 current
: 現在のステップのインデックス。 StepBar
コンポーネントは、計算されたプロパティ line
を通じてステップ ラインの幅を動的に計算し、ステップ バーのハイライト効果を実現します。このうち、v-for
命令は、steps
配列を走査し、現在のステップのインデックスに基づいてステップをアクティブにするかどうかを決定するために使用されます。
ステップ バー コンポーネントの使用方法
ステップ バー コンポーネントを使用する必要があるページでは、まず StepBar
コンポーネントを導入して定義する必要があります#data
##steps配列と
current変数。次に、
steps と
current を
StepBar コンポーネントのプロパティとしてコンポーネントに渡し、ページ上にステップ バーをレンダリングします。
<template> <view> <step-bar :steps="steps" :current="current" /> </view> </template> <script> import stepBar from '@/components/StepBar.vue'; export default { components: { stepBar }, data() { return { steps: [ { icon: '~/static/icon1.png' }, { text: '步骤2' }, { text: '步骤3' }, { text: '步骤4' }, ], current: 2 } } } </script>
StepBar コンポーネントを作成し、4 つのステップ
steps 配列。
current に値を代入して、現在のステップが 3 であることを指定します。ページ上のステップ バーは次のように表示されます:
以上がuniappでステップバーコンポーネントを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。