Rumah hujung hadapan web uni-app Cara berkongsi menu bawah dalam uniapp

Cara berkongsi menu bawah dalam uniapp

May 26, 2023 am 09:00 AM

Dengan perkembangan pesat peranti mudah alih, semakin ramai pembangun mula menggunakan uniapp untuk pembangunan merentas platform. Dalam aplikasi mudah alih, menu bawah adalah komponen UI yang sangat biasa Berbeza daripada perbezaan antara iOS dan Android, menggunakan uniapp boleh mencapai interaksi dan gaya menu bawah yang konsisten pada platform yang berbeza, tetapi bagaimana untuk berkongsi menu bawah? Artikel ini akan memperkenalkan secara terperinci cara uniapp melaksanakan menu bawah biasa.

  1. Menggunakan komponen menu bawah

uniapp menyediakan uni-tabbar komponen menu bawah rasmi, yang boleh dirujuk dalam fail page.json apabila digunakan. Komponen menu bawah boleh merealisasikan lompatan halaman dengan mengkonfigurasi atribut halaman uni-tabbar. Perlu diingatkan bahawa komponen menu bawah hanya menyokong konfigurasi empat halaman tab, dan setiap halaman mesti dibalut dengan tag halaman.

Contohnya adalah seperti berikut:

{
  "tabBar": {
    "color":"#999",
    "selectedColor":"#007aff",
    "borderStyle":"black",
    "backgroundColor":"#f9f9f9",
    "list":[{
      "pagePath":"pages/home/index",
      "text":"首页",
      "iconPath":"/static/tabbar/home.png",
      "selectedIconPath":"/static/tabbar/home_active.png"
    },{
      "pagePath":"pages/category/index",
      "text":"分类",
      "iconPath":"/static/tabbar/category.png",
      "selectedIconPath":"/static/tabbar/category_active.png"
    },{
      "pagePath":"pages/cart/index",
      "text":"购物车",
      "iconPath":"/static/tabbar/cart.png",
      "selectedIconPath":"/static/tabbar/cart_active.png"
    },{
      "pagePath":"pages/user/index",
      "text":"我的",
      "iconPath":"/static/tabbar/user.png",
      "selectedIconPath":"/static/tabbar/user_active.png"
    }]
  }
}
Salin selepas log masuk

Apabila menggunakan komponen menu bawah, pembangun hanya perlu mengkonfigurasi atribut tabBar yang sepadan dalam fail page.json bagi setiap halaman perlu Konfigurasikan dalam fail page.json setiap halaman Kaedah ini menyusahkan dan tidak sesuai untuk berkongsi menu bawah.

  1. Enkapsulasi komponen menu bawah

Sesetengah pembangun akan memilih untuk merangkum sendiri komponen menu bawah, seperti merangkum menu bawah dalam bentuk komponen Apabila menu bawah diperlukan diperkenalkan dalam halaman. Walaupun kaedah ini lebih mudah, terdapat juga beberapa kerja remeh yang perlu dilakukan untuk merangkum komponen menu bawah dalam uniapp.

Pertama sekali, dalam komponen menu bawah, anda perlu menggunakan kaedah uni.getSystemInfoSync() uni-api asli untuk mendapatkan ketinggian skrin peranti dan ketinggian menu bawah, untuk mengira ketinggian halaman tidak termasuk menu bawah. Kedua, ketinggian menu bawah yang sepadan dan ketinggian halaman perlu ditetapkan secara manual dalam setiap halaman supaya penatalan halaman biasa boleh dicapai.

Kod sampel adalah seperti berikut:

<template>
  <view class="wrapper">
    <slot></slot>
    <view class="tabbar" :style="{ height: tabBarHeight + 'px' }">
      <!-- 底部菜单内容 -->
    </view>
  </view>
</template>

<script>
  import api from '@/utils/api'
  export default {
    data() {
      return {
        tabBarHeight: 0
      }
    },
    mounted() {
      this.getSystemInfo()
    },
    methods: {
      getSystemInfo() { // 获取设备信息
        const systemInfo = uni.getSystemInfoSync()
        this.tabBarHeight = api.pxToRpx(systemInfo.screenHeight - systemInfo.safeArea.bottom)
        this.setPageStyle()
      },
      setPageStyle() { // 设置页面样式
        uni.createSelectorQuery().select('.wrapper').boundingClientRect(rect => {
          const height = api.pxToRpx(rect.height)
          uni.$emit('setPageStyle', {height: height, tabBarHeight: this.tabBarHeight})
        }).exec()
      }
    }
  }
</script>

<style>
  .wrapper {
    height: 100%;
  }
  .tabbar {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    border-top: 1px solid #ddd;
    text-align: center;
  }
</style>
Salin selepas log masuk

Dalam setiap halaman, anda perlu mendengar acara uni.$emit('setPageStyle') dan tetapkan gaya yang sepadan mengikut ketinggian halaman dan ketinggian menu bawah untuk memastikan Tatal halaman berfungsi dengan baik.

Walaupun anda boleh merangkum sendiri komponen menu bawah untuk mencapai kegunaan umum, ia agak menyusahkan dan tidak sesuai untuk pemula yang tidak biasa dengan uniapi kerana keperluan untuk menangani beberapa isu remeh.

  1. Gunakan pemalam

Memandangkan menu bawah adalah sangat biasa dalam aplikasi mudah alih, banyak pembangun telah merangkumkan pemalam menu bawah uniapp, yang menjimatkan beberapa tugas remeh pemaju Kerja. Menggunakan pemalam boleh mencapai panggilan yang cepat dan mudah, serta boleh menyesuaikan gaya dan interaksi dengan mudah.

Pemalam menu bawah uniapp sangat mudah digunakan Anda hanya perlu memperkenalkan pemalam yang sepadan dalam fail page.json. Menggunakan pemalam boleh menetapkan fungsi dan gaya interaktif menu bawah dengan mudah, yang lebih sesuai untuk pemula yang tidak biasa dengan uniapi.

Artikel ini memperkenalkan pemalam menu bawah uniapp "uniui-tabbar", iaitu pemalam menu bawah yang ringkas dan mudah digunakan dengan kemudahan penggunaan dan kebolehskalaan menu bawah boleh disesuaikan.

Anda boleh membiasakan diri dengan cepat menggunakan uniui-tabbar melalui dokumentasi rasmi:

<template>
  <view>
    <!-- 页面内容 -->
  </view>
  <uniui-tabbar :active="active" :tab-bar-list="tabBar.list" @onChange="onChange"></uniui-tabbar>
</template>

<script>
  export default {
    data() {
      return {
        active: 0,
        tabBar: {
          color:"#999",
          selectedColor:"#007aff",
          borderStyle:"black",
          backgroundColor:"#f9f9f9",
          list:[{
            "text":"首页",
            "iconPath":"/static/tabbar/home.png",
            "selectedIconPath":"/static/tabbar/home_active.png"
          },{
            "text":"分类",
            "iconPath":"/static/tabbar/category.png",
            "selectedIconPath":"/static/tabbar/category_active.png"
          },{
            "text":"购物车",
            "iconPath":"/static/tabbar/cart.png",
            "selectedIconPath":"/static/tabbar/cart_active.png"
          },{
            "text":"我的",
            "iconPath":"/static/tabbar/user.png",
            "selectedIconPath":"/static/tabbar/user_active.png"
          }]
        }
      }
    },
    methods: {
      onChange(index) {
        this.active = index
        uni.switchTab({
          url: '/' + this.tabBar.list[index].pagePath
        })
      }
    }
  }
</script>
Salin selepas log masuk

Apabila menggunakan pemalam uniui-tabbar, anda hanya perlu menetapkan data menu bawah dan hantar data ke tab-bar -list atribut sudah memadai. Pantau acara penukaran menu bawah melalui acara onChange Apabila menukar menu bawah, anda boleh menggunakan uni.switchTabAPI untuk melompat ke halaman. Pembangun hanya perlu menumpukan pada definisi data dan gaya menu bawah, dan bukannya melakukan pelbagai pengiraan remeh dan pelarasan gaya.

Ringkasan:

Semasa proses pembangunan, kita perlu memilih kaedah yang sesuai untuk melaksanakan menu bawah biasa berdasarkan keperluan sebenar kita. Dalam uniapp, adalah lebih mudah untuk menggunakan komponen atau pemalam rasmi Kaedah mana yang hendak dipilih bergantung pada situasi sebenar anda. Apabila melaksanakan menu bawah biasa, cuba kurangkan beban kerja yang tidak perlu dan fokus pada penggunaan semula kod dan kesederhanaan kod, dengan itu meningkatkan kecekapan pembangunan dan kebolehbacaan kod.

Atas ialah kandungan terperinci Cara berkongsi menu bawah dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya menggunakan API perkongsian sosial Uni-app? Bagaimana saya menggunakan API perkongsian sosial Uni-app? Mar 13, 2025 pm 06:30 PM

Artikel ini memperincikan bagaimana untuk mengintegrasikan perkongsian sosial ke dalam projek Uni-app menggunakan API Uni.share, meliputi persediaan, konfigurasi, dan ujian di seluruh platform seperti WeChat dan Weibo.

Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Mar 18, 2025 pm 12:20 PM

Artikel membincangkan menggunakan SASS dan kurang preprocessors dalam UNI-APP, memperincikan persediaan, faedah, dan penggunaan dwi. Fokus utama adalah pada konfigurasi dan kelebihan. [159 aksara]

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Bagaimana saya menggunakan API Animasi Uni-App? Bagaimana saya menggunakan API Animasi Uni-App? Mar 18, 2025 pm 12:21 PM

Artikel ini menerangkan cara menggunakan API Animasi Uni-App, memperincikan langkah-langkah untuk membuat dan menggunakan animasi, fungsi utama, dan kaedah untuk menggabungkan dan mengawal masa animasi.

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Mar 18, 2025 pm 12:22 PM

Artikel ini menerangkan cara menggunakan API penyimpanan Uni-App (uni.setstorage, uni.getstorage) untuk pengurusan data tempatan, membincangkan amalan terbaik, penyelesaian masalah, dan menyoroti batasan dan pertimbangan untuk kegunaan yang berkesan.

Apakah struktur fail projek uni-app? Apakah struktur fail projek uni-app? Mar 14, 2025 pm 06:55 PM

Artikel ini memperincikan struktur fail projek uni-app, menerangkan direktori utama seperti biasa, komponen, halaman, statik, dan unicloud, dan fail penting seperti app.vue, main.js, manifest.json, halaman.json, dan uni.scss. Ia membincangkan bagaimana ini o

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

See all articles