この記事では、セグメンター効果を実現するための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 再帰クエリ親子コレクションメソッド
主キー:キーワード: 主キー機能: null にすることはできず、一意である必要があります。主キーの...
非常に珍しいパラメータ文字化けの問題に遭遇しました。まずページを見てみましょう写真に示すように、月次...
フロントエンドテクノロジー層 (写真は少し極端ですが、参考までに) Javascript と DOM...
目次リアクティブ機能使用法: toRef 関数 (理解するだけ)使用法: ref関数レスポンシブデー...
最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...
さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!--方法 1: onf...
MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...
前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...
Deepin がルートユーザーとして Google Chrome ブラウザを起動できない問題を解決す...
1. MySQL rpm パッケージのインストール # インストールソースをダウンロードします [r...
背景クラスメートと row_id の境界問題について話し合ったので、ここで詳しく説明します。 Inn...
tomcat はオープンソースの Web サーバーです。Tomcat ベースの Web は実行効率...
信頼性が高く、人気があり、簡単に構成できる Web サーバーである Apache で独自の Web ...
目次序文ブラウザにおけるオーディオとビデオに関する知識のまとめビデオエンコーディング包装形態オーディ...
1. ユーザーを作成して承認するMySQL 8.0 では、ユーザーの作成と認証が以前とは異なります...