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

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

PHPz
PHPzオリジナル
2023-04-18 15:20:496957ブラウズ

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 までご連絡ください。