この記事では、セグメンター効果を実現するための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 再帰クエリ親子コレクションメソッド
MySQLはユーザーを作成し、ユーザーの権限を承認および取り消します動作環境: MySQL 5.0...
<br /> テキスト、記号、リンクの3つの側面に焦点を当て、主に中国語で、個人的な執筆...
記述した Dockerfile の内容は次のとおりです。 Python:3.6.8 から pip i...
目次1. 実施プロセス2. オブザーバーを表示する3. ウォッチャーを実装する4. コンパイルを実装...
この記事のガイド: テーブル内のデータを削除するには、削除と切り捨ての 2 つの方法があります。TR...
コードをコピーコードは次のとおりです。 jQuery.cookie = 関数(名前、値、オプション)...
アバターをアップロードするにはVue-Cropperコンポーネントを使用します。参考までに具体的な内...
目次スロットとは何かデフォルトスロットの理解コードスニペット要約するスロットとは何かスロットは、親コ...
Vue の紹介現在のビッグフロントエンドの時代は、混乱と衝突の時代です。世界は多くの派閥に分かれてお...
この記事では、チャット機能を簡単に実装するためのVue+Websocketの具体的なコードを参考まで...
アパッチ スカイウォーキングApache SkyWalking は、マイクロサービス、クラウド ネイ...
最近、ポップアップ広告に取り組んでいました。デフォルト ページには z-index が設定されていな...
この記事では、MySQL のマルチテーブル共同クエリ操作について説明します。ご参考までに、詳細は以下...
みなさんこんにちは、Qiufengです。最近、WeChatは新しい機能をリリースしました(WeCha...
30 種類の高品質な英語リボン フォントを無料でダウンロードできます。デザイナーは常に、25 種類の...