WeChat アプレットのカスタム下部ナビゲーション バー コンポーネント

WeChat アプレットのカスタム下部ナビゲーション バー コンポーネント

この記事の例では、WeChatアプレットの下部ナビゲーションバーコンポーネントの具体的な実装コードを参考までに共有しています。具体的な内容は次のとおりです。

1. 独自のプロジェクトのパブリックコンポーネントのファイル価格の下に、新しいtabbar.vue(定義されたカスタムナビゲーションバーコンポーネント)を作成します。

<テンプレート>
  <view v-if="showTabbar" class="tabbar">
    <表示
      v-for="(item, index) in tabList"
      :key="インデックス"
      クラス="アイコン"
      @click="switchTabBar(item.path, index)"
    >
      <image :src="index == 現在の ? item.iconActivePath : item.iconPath"></image>
      <text :class="index == current ? 'active_text' : 'text'" bindtap = 'go'>{{ item.name }}</text>
    </ビュー>
  </ビュー>
</テンプレート>
 
<スクリプト>
  // '@/channelMessage/get-container' からコンテナをインポートします
 
  エクスポートデフォルト{
    小道具: {
      タブバーを表示: {
        タイプ: ブール値、
        デフォルト: true、
      },
      current:{ // 現在のページインデックス
    タイプ:数値、
    デフォルト:0
   },
    },
    データ() {
      戻る {
        選択されたインデックス: 0,
        タブリスト: [
          {
            名前: "ホーム",
            アイコンパス: require("../../../static/image/img/tab-home-nor.png"),
            iconActivePath: require("../../../static/image/img/tab-home-sel.png"),
          パス: "/pages/index/index",
          },
          {
            名前:「ショッピングカート」
            アイコンパス: require("../../../static/image/img/tab-cart-nor.png"),
            iconActivePath: require("../../../static/image/img/tab-cart-sel.png"),
            パス: "/pages/cart/cartEdit",
          },
          {
            名前: 「私の」
            アイコンパス: require("../../../static/image/img/tab-my-nor.png"),
            iconActivePath: require("../../../static/image/img/tab-my-sel.png"),
            パス: "/pages/mine/mine",
          },
        ]、
    }
    },
 
    オンショー() {
      // 定数コンテナId = container.getContainerId()
      // コンテナID == '1000'の場合{
      // this.showTabbar = false
      // }
    },
    メソッド: {
    switchTabBar(パス、インデックス) {
      this.item_index = インデックス
      wx.switchTab({
          url: パス、
      })
        // this.$router.replace(パス)
      },
    
    },
}
</スクリプト>
 
<style lang="scss" スコープ>
  .タブバー{
    位置: 固定;
    下部: 0;
    zインデックス: 10;
    ディスプレイ: フレックス;
    アイテムの位置を中央揃えにします。
    コンテンツの両端揃え: スペースを空ける;
    幅: 100%;
    高さ: 100rpx;
    背景色: #ffffff;
    パディング下部: 定数(セーフエリアインセット下部);
    パディング下部: env(セーフエリアインセット下部);
 
    .アイコン {
      ディスプレイ: フレックス;
      flex-direction: 列;
      アイテムの位置を中央揃えにします。
 
      画像 {
        幅: 50rpx;
        高さ: 50rpx;
      }
  }
  .active_text{
        フォントサイズ: 20rpx;
        上マージン: 5rpx;
    色: #d81e06;
      }
  。文章{
    フォントサイズ: 20rpx;
    上マージン: 5rpx;
    }
  }
</スタイル>

2. プロジェクトの pages.json ファイルにコードを追加して、tabbar.vue の wx.switchTab が正常に使用できることを確認します。コードは次のとおりです。

"タブバー": {
    "選択された色": "#EE2F51",
    「リスト」: [{
      "ページパス": "ページ/インデックス/インデックス",
      "テキスト": "ホーム",
      "アイコンパス": "static/image/img/tab-home-nor.png",
      "選択されたアイコンパス": "static/image/img/tab-home-sel.png"
    },{
      "pagePath": "pages/cart/cartEdit",
      "text": "ショッピングカート",
      "アイコンパス": "static/image/img/tab-cart-nor.png",
      "selectedIconPath": "static/image/img/tab-cart-sel.png"
    },{
      "pagePath": "pages/mine/mine",
      "テキスト": "私の",
      "アイコンパス": "static/image/img/tab-my-nor.png",
      "選択されたアイコンパス": "static/image/img/tab-my-sel.png"
    }]
  },

3. main.js にカスタムコンポーネントをグローバルに登録する

「./customComponents/commonComponents/tabBar/index.vue」からtabBarをインポートします。

//コンポーネントの位置を変更します。ここでのindex.vueは前述のtabbar.vueです。
Vue.component("タブバー", タブバー);

4. ナビゲーションバーが必要なページに、登録したコンポーネントを導入する

// ページにナビゲーション バー コンポーネントを導入します <tabBar :current=item_index></tabBar>
 
//ステータスをマークします。ナビゲーションバーはページデータに応じて異なるアクティベーションステータスを表示できます。
      戻る {
        アイテムインデックス: 0,
      }
}
 
//WeChatの組み込みナビゲーションバーを非表示にする onLoad() {
      タブバーを非表示にする
},

5. 表示効果

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChat ミニプログラムチュートリアルシリーズ: タイトルバーとナビゲーションバーの設定 (7)
  • WeChat アプレット開発トップナビゲーションバーのサンプルコード
  • WeChatアプレットの下部ナビゲーション列を設定する方法の詳細な説明
  • WeChat アプレットのカスタム ヘッダー ナビゲーション バーとナビゲーション バーの背景画像 navigationStyle の問題
  • WeChatアプレットのトップナビゲーションバーの実装コード
  • WeChatアプレットカプセルボタンリターンの詳細な説明|ホームページカスタムナビゲーションバー機能
  • WeChatアプレットのトップナビゲーションバーのスライドタブ効果
  • WeChat アプレットのカスタムナビゲーションバートップナビゲーションバーはすべてのモデルに適応します (完全なケース付き)
  • WeChatアプレットが左スライドナビゲーションバーを実装
  • WeChatアプレットはナビゲーションバータブの効果を実現します

<<:  HTML テーブル マークアップ チュートリアル (37): 背景画像属性 BACKGROUND

>>:  MySQLクエリインターセプトの詳細な分析

推薦する

Mysql の一時テーブルとパーティションテーブルの違いの詳細な説明

一時テーブルとメモリテーブルメモリ テーブルとは、メモリ エンジンを使用するテーブルを指します。テー...

Ubuntuにmysql5.7.10を手動でインストールする

このチュートリアルでは、UbuntuにMySQL 5.7.10を手動でインストールする手順を参考まで...

NginxとLuaによるグレースケールリリースの実装

memcachedをインストールする yum インストール -y memcached #memcac...

HTMLページの読み込みと解析プロセスの詳細な紹介

ブラウザがHTMLを読み込みレンダリングする順序1. IE は上から下へダウンロードし、上から下へレ...

MySQL の同時実行性の問題と解決策の分析

目次1. 背景2. テーブルロックによるクエリの遅延3. オンラインでテーブル構造を変更するとどのよ...

解析を実装するためにPostgreSQLデータベースを書き込むSQLスクリプト関数

この記事は主に、PostgreSQL データベースを記述して解析を実装する SQL スクリプト関数を...

この記事ではSQL CASE WHENの使い方を詳しく説明します

目次シンプルな CASEWHEN 関数:これは、CASEWHEN 条件式関数を使用するのと同じです。...

qt.qpa.plugin の問題を解決: Ubuntu 18.04 の Qt で Qt プラットフォーム プラグイン「xcb」をロードできませんでした

問題の説明Qt5.15.0 をインストールした後、テスト ケースを実行するとエラーが表示されます。 ...

Dockerイメージの作成とプロジェクト全体のワンクリックパッケージングとデプロイ

一般的な Dockerfile 命令の紹介命令説明するから新しいイメージが構築される基となるイメージ...

Docker Swarm サービス オーケストレーション コマンドの詳細な説明

1. はじめにDocker には、タスクを構成する複数の Docker コンテナをオーケストレーショ...

Raspberry Pi 3B+ に 64 ビット Ubuntu システムと Docker ツールをインストールする詳細な手順

Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...

MySQL DMLステートメントの使用に関する詳細な説明

序文:前回の記事では、注意深い学生であれば発見できたかもしれない DDL ステートメントの使用法を中...

Vuex全体のケースの詳細な説明

目次1. はじめに2. 利点3. 使用手順1. Vuexをインストールする2. Vuexを参照する3...

html.cssオーバーフローの包括的な理解

html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...

MySQL 圧縮パッケージ版 zip インストール設定方法

圧縮版の記事ではデータの初期化がされていないなどいくつか問題があったため、Windows にインスト...