この記事では、セグメンター効果を実現するためのvue uniappの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 これは、vueでスタイルを動的に変更する効果を記録するためだけのものです。 まずは効果を見せましょう テンプレート <view class="countTime"> <text class="title">割引と食事時間</text> <view class="wrap"> <view class="box" v-for="(item,index) in discountList" :key="index" @click="toggleItem(index)"> <view class="selBox" :style="[itemStyle(index)]"> <view class="countBox"> <text class="count">{{item.count}}</text> <text>折りたたむ</text> </ビュー> <text class="time">{{item.time}}</text> </ビュー> <text class="countPrice" :style="[priceStyle(index)]">割引後、1人あたりの平均価格は100円です</text> </ビュー> </ビュー> </ビュー> スクリプト部分 この部分の鍵となるのは、計算されたコードです エクスポートデフォルト{ データ() { 戻る { themColor:this.Enum.Them.base、 割引リスト:[{ 「カウント」:6.9, "時間":"12:00~13:00" },{ 「カウント」:6.7, "時間":"14:00~16:00" },{ "カウント":6.5, "時間":"20:00~22:00" }], 現在のインデックス:0 } }, 計算:{ アイテムスタイル(){ インデックスを返す => { スタイルを {} にします if(インデックス === this.currentIndex){ style.backgroundColor = this.themColor; style.border = `1px solid ${this.themColor}`; スタイルの色 = '#fff'; } //2番目が選択されると、最初の右の境界線と3番目の左の境界線はnoneに設定されます if(this.currentIndex === 1){ if(インデックス === this.currentIndex - 1){ style.borderRight = 'なし!重要' } if(インデックス === this.currentIndex + 1){ style.borderLeft = 'なし!重要' } } 戻りスタイル } }, 価格スタイル(){ インデックスを返す => { スタイルを {} にします if(インデックス === this.currentIndex){ style.color = this.themColor } 戻りスタイル } } }, メソッド: { トグルアイテム(idx){ this.currentIndex = idx } } } CSS スタイル ここで使用する SCSS についてはここでは詳しく説明しません。 .countTime{ ディスプレイ: フレックス; flex-direction: 列; 。タイトル{ フォントサイズ: $uni-font-size-bl; マージン: 20rpx 0; } 。包む{ ディスプレイ: フレックス; 。箱{ @include flex(列、中心、中心); 幅: 33%; &:n番目の子(2){ & > .selBox{ 左境界線: なし; 右境界線: なし; } } .selBox{ @include flex(列、中心、中心); 幅: 100%; 高さ: 150rpx; 境界線: 1px 実線 $uni-border-color; .countBox{ フォントサイズ: $uni-font-size-lg; フォントの太さ: 太字; 下部マージン: 10rpx; 。カウント{ フォントサイズ: $uni-font-size-bl; } } 。時間{ フォントサイズ: $uni-font-size-l; } } .count価格{ 上マージン: 10rpx; フォントサイズ: $uni-font-size-l; } } } } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySql8 WITH RECURSIVE 再帰クエリ親子コレクションメソッド
Web フォームは、訪問者と Web サイト所有者間の主要なコミュニケーション チャネルです。フィー...
すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...
環境: 1. Windows Server 2016 Datacenter 64 ビット 2. SQ...
ウェブページに表示されるプレーヤーは、WMP/RealPlayer/Flash Player に過ぎ...
以前、「MySQL でコミットされていないトランザクション情報を検索する方法」というタイトルのブログ...
適用シナリオ:新しい要件の 1 つはアンケート調査を行うことですが、必然的に多くの質問が含まれ、1 ...
インストールFilebeat は、より軽量でより安全なため、Logstash-Forwarder に...
Linux の操作と構成作業では、デュアル ネットワーク カードのバインディングがよく使用されます。...
この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...
準備する: MySQL 8.0 Windows zip パッケージのダウンロード アドレス: htt...
目次1. Linuxホスト名を設定するクライアントホストを構成するサーバーホストを構成する2. ホス...
最近、ウェブサイトを設計するときにこの問題に遭遇しています。メンバーセンターを設計し、コンテンツを ...
docker run後、ステータスは常にExitedになります解決:パラメータを追加: -it do...
目次タイムスタンプ比較クエリで遭遇する落とし穴タイムスタンプクエリ範囲の問題タイムスタンプ比較クエリ...
目次1. プロジェクト要件次にコーディングを始める1. フロントエンドページを作成する(CSSスタイ...