ホームページ ウェブフロントエンド uni-app Uniappでタブバーを動的に変更する方法

Uniappでタブバーを動的に変更する方法

Apr 18, 2023 pm 03:20 PM

Uniapp は、H5、ミニプログラム、アプリなど複数のプラットフォーム向けのアプリケーションを同時に開発できるクロスエンド開発フレームワークで、非常に実用的な開発ツールです。その中でもタブバーは、複数のページを表示するための下部ナビゲーションバーとして使用される重要なコントロールの1つです。開発プロセスでは、さまざまなビジネスニーズに応じてタブバーを動的に変更する必要がある場合がありますが、この記事では、Uniapp でタブバーを動的に変更する方法を紹介します。

1. タブバーの基本的な使い方と構造

Uniapp でタブバーを使用するには、pages.json ファイルで下部ナビゲーション バーのスタイルとページ パスを設定する必要があります。サンプルコードは以下のとおりです。

"tabBar": {
    "color": "#999",
    "selectedColor": "#007AFF",
    "backgroundColor": "#ffffff",
    "borderStyle": "white",
    "list": [
        {
            "pagePath": "pages/index/index",
            "text": "首页",
            "iconPath": "static/tabbar/home.png",
            "selectedIconPath": "static/tabbar/home_selected.png"
        },
        {
            "pagePath": "pages/mine/mine",
            "text": "我的",
            "iconPath": "static/tabbar/mine.png",
            "selectedIconPath": "static/tabbar/mine_selected.png"
        }
    ]
}
ログイン後にコピー

tabBarでは、下部ナビゲーションバーの色、選択色、背景色、枠線のスタイルなどを設定できます。このうち list は配列であり、各要素は下部のナビゲーション バーのページを表します。各ページでは、対応するパス、テキスト、アイコン、および選択したアイコンを設定する必要があります。

2. タブバーを動的に変更するメソッド

Uniapp では、タブバーを動的に変更する効果は、uni.setTabBarStyle メソッドと uni.setTabBarItem メソッドを通じて実現できます。

  1. uni.setTabBarStyle

uni.setTabBarStyle メソッドを使用して、タブバーのスタイルを動的に変更します。このメソッドはタブバーの背景色、枠線のスタイル、文字色、アイコンのサイズなどを変更することができ、タブバーのスタイルを動的に変更する基本的なメソッドです。サンプル コードは次のとおりです。

uni.setTabBarStyle({
    color: '#999999',
    selectedColor: '#41b883',
    backgroundColor: '#ffffff',
    borderStyle: 'black'
});
ログイン後にコピー

このサンプル コードでは、タブバーのデフォルトの色を #999999 に、選択状態の色を #41b883 に、背景色を #ffffff に、境界線のスタイルを に変更します。黒い境界線。

  1. uni.setTabBarItem

uni.setTabBarItem メソッドを使用して、タブバーの各ページのコンテンツを動的に変更します。ページ上のテキスト、アイコン、パス、その他の情報を変更できます。サンプル コードは次のとおりです。

uni.setTabBarItem({
    index: 0,
    text: '首页',
    iconPath: '/static/tabbar/home.png',
    selectedIconPath: '/static/tabbar/home_selected.png'
});
ログイン後にコピー

このサンプル コードは、最初のページのテキストを「ホームページ」に変更し、アイコンと選択されたステータス アイコンを対応する画像に変更します。

3. タブバーを動的に変更するデモ

以下では、具体的な例を使用して、タブバーを動的に変更する方法を示します。

pages.json の tabBar セクションに新しいページを追加します。コードは次のとおりです。

"list": [
    {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "static/tabbar/home.png",
        "selectedIconPath": "static/tabbar/home_selected.png"
    },
    {
        "pagePath": "pages/mine/mine",
        "text": "我的",
        "iconPath": "static/tabbar/mine.png",
        "selectedIconPath": "static/tabbar/mine_selected.png"
    },
    {
        "pagePath": "pages/add/add",
        "text": "添加",
        "iconPath": "static/tabbar/add.png",
        "selectedIconPath": "static/tabbar/add_selected.png"
    }
]
ログイン後にコピー

新しいページを下部のナビゲーション バーに「追加」で追加します。

add.vue にボタンを追加します。ボタンをクリックすると、下部ナビゲーション バーの最初のページのテキストを乱数に変更できます。コードは次のとおりです。

<template>
    <view class="content">
        <view class="button" @click="changeTabBar">改变tabbar</view>
    </view>
</template>

<script>
    export default {
        methods: {
            changeTabBar() {
                const num = Math.floor(Math.random() * 100);
                
                uni.setTabBarItem({
                    index: 0,
                    text: `首页(${num})`
                });
            }
        }
    }
</script>

<style>
    .content {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .button {
        width: 80vw;
        height: 10vw;
        line-height: 10vw;
        background-color: #41b883;
        color: #fff;
        text-align: center;
        border-radius: 4vw;
    }
</style>
ログイン後にコピー

changeTabBar メソッドでは、Math.random() を通じて乱数を生成し、uni.setTabBarItem メソッドを使用して最初のページのテキストを乱数を含むコンテンツに変更します。 。

index.vue とmine.vue にボタンを追加します。クリックすると、下部のナビゲーション バーのスタイルを動的に変更できます。コードは次のとおりです。

<template>
    <view class="content">
        <view class="button" @click="changeTabBarStyle">改变tabbar样式</view>
    </view>
</template>

<script>
    export default {
        methods: {
            changeTabBarStyle() {
                uni.setTabBarStyle({
                    color: '#ff0000',
                    selectedColor: '#41b883',
                    backgroundColor: '#ffffff',
                    borderStyle: 'black'
                });
            }
        }
    }
</script>

<style>
    .content {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .button {
        width: 80vw;
        height: 10vw;
        line-height: 10vw;
        background-color: #41b883;
        color: #fff;
        text-align: center;
        border-radius: 4vw;
    }
</style>
ログイン後にコピー

changeTabBarStyle メソッドで、uni.setTabBarStyle メソッドを通じてタブバー スタイルを動的に変更します。

最後に、それぞれのボタンをクリックすると、タブバー内のページのコンテンツとスタイルを動的に変更できます。

4. 概要

この記事では、Uniapp のタブバーを動的に変更する方法を紹介します。開発プロセス中、下部ナビゲーション バーのスタイルとコンテンツは、さまざまなビジネス ニーズに応じて動的に調整する必要があります。 uni.setTabBarStyle メソッドと uni.setTabBarItem メソッドを使用すると、タブバーを動的に変更する効果を簡単に実現できます。

以上がUniappでタブバーを動的に変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)