uniapp - 簡單版本自定義tab欄切換

tab切換是APP開發最常見的功能之一,uniapp中提供了多種形式的tab組件供我們使用。對于簡單的頁面而言,使用tabbar組件非常方便快捷,可以快速實現底部導航欄的效果。對于比較復雜的頁面,我們可以使用tab組件自由定義樣式和內容

目錄

一、實現思路

二、實現步驟

①view部分展示

?②JavaScript 內容

③css中樣式展示

三、效果展示


????????Uniapp作為一款跨平臺的開發工具,提供了一種簡便的制作tabbar滑動切換的方法。本文將介紹UniAPP如何實現tabbar滑動切換,并帶有詳細的示例代碼。

一、實現思路

????????在tabbar的頁面中,當用戶進行左右滑動時,能夠自動切換到相應的頁面。這個過程可以通過Uniapp中的swiper組件實現也可以通過自定義完成,代碼非常簡單。這里我使用的是原生態開發。

? ? ? ? 如果想要使用組件開發,可以參考Tabs 標簽 | uView 2.0 - 全面兼容 nvue 的 uni-app 生態框架 - uni-app UI 框架

二、實現步驟
①view部分展示
  1. 首先,在項目中找到tabbar的頁面,在template中添加以下代碼
  2. ?template v-for可以不用寫在template模板?
		<view class="welltab"><!-- tab選項 --><view class="flex-around" style="border-bottom: 1px solid #E6E6E8;"><view v-for="(item, index) in topList" :key="index":class="[item.default ? 'screen-item-avtive' : 'screen-item']" @click="changeTabs(item)">{{ item.name}}</view></view><!-- 列表 --><view v-for="(item, index) in list" class="flex-between acctab" :key="index"><view class="flex-colomn"><view style="color: #333; font-size: 28rpx;font-weight: bold;">{{ item.content }}</view><view style="color: #888;font-size: 24rpx; margin-top: 10rpx;">{{ item.time }}</view></view><view class=""><view v-if="status == 0"><text style="font-size: 30rpx; font-weight: bold;">{{ $tools.getUnit(item.price) }}</text></view><view v-if="status == 1"><text style="font-size: 30rpx; font-weight: bold;">+{{ $tools.getUnit(item.price) }}</text></view><view v-if="status == 2"><text style="font-size: 30rpx; font-weight: bold;">-{{ $tools.getUnit(item.price) }}</text></view></view></view></view>
?②JavaScript 內容

? ? ? ? 1.toplist表示的是tab頂部的內容

? ? ? ? 2.list中展示的是跳轉后的內容

<script>export default {data() {return {status: '', // 狀態list: [{id: 1,price: 123,content: '需求任務',time: '2024-09-09 19:00'}, {id: 1,price: 300,content: '跑腿訂單',time: '2024-09-09 19:00'}
],//展示tab款的內容topList: [{name: '全部',default: true,// default: false,id: 0}, {name: '收入',default: false,// default: true,id: 1}, {name: '支出',default: false,// default: true,id: 2},]}},methods: {//點擊tab跳轉changeTabs(item) {let obj = this.topList.find(v => v.default)if (obj) {obj.default = falseitem.default = true}this.status = item.id// 	this.getRequestList()},}}
</script>
③css中樣式展示
  1. tab頂部文字的樣式,文字點擊時的樣式
<style>/* 點擊文字的顏色 */.screen-item-avtive {position: relative;font-size: 28rpx;font-family: PingFang SC, PingFang SC;font-weight: bold;color: #428AF6;letter-spacing: 2rpx;padding: 24rpx 0;}/* 本來展示的顏色 */.screen-item {font-size: 28rpx;font-family: PingFang SC, PingFang SC;color: #333;letter-spacing: 2rpx;padding: 24rpx 0;}/* 點擊的底部線條顏色 */.screen-item-avtive::after {content: '';position: absolute;left: 50%;bottom: 0;height: 4rpx;background-color: #428AF6;width: 50%;transform: translateX(-50%);border-radius: 4rpx;// transition: all .5s linear;animation: change 1s linear;}/* 底部變化 */@keyframes change {0% {width: 50%;}50% {width: 100%;}100% {width: 50%;}}
</style>
三、效果展示

????????

?

? ?? ? ? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215088.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215088.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215088.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2023年醫療器械行業分析(京東醫療器械運營數據分析):10月銷額增長53%

隨著我國整體實力的增強、國民生活水平的提高、人口老齡化、醫療保障體系不斷完善等因素的驅動&#xff0c;我國的醫療器械市場增長迅速。 根據鯨參謀電商數據分析平臺的相關數據顯示&#xff0c;今年10月份&#xff0c;京東平臺上醫療器械市場的銷量將近1200萬&#xff0c;環比…

什么是rocketmq?

在大規模分布式系統中&#xff0c;各個服務之間的通信是至關重要的&#xff0c;而RocketMQ作為一款分布式消息中間件&#xff0c;為解決這一問題提供了強大的解決方案。本文將深入探討RocketMQ的基本概念、用途&#xff0c;以及在實際分布式系統中的作用&#xff0c;并對Produc…

SU渲染受到電腦性能影響大嗎?如何提高渲染速度

一般3d設計師們在進行設計工作前都需要提供一臺高配電腦&#xff0c;那么你這知道su渲染對電腦要求高嗎&#xff1f;電腦帶不動su怎么解決&#xff1f;su對電腦什么配件要求高&#xff1f;今天這篇文章就詳細為大家帶來電腦硬件對su建模渲染的影響&#xff0c;以及su渲染慢怎么…

Python基礎期末復習 新手 2

雖然age 10在__init__方法中定義了一個局部變量age&#xff0c;但這個局部變量并不會影響類屬性age的值。類屬性是在類級別上定義的&#xff0c;不屬于任何一個實例。因此&#xff0c;在創建實例s1和s2時&#xff0c;它們的age屬性值都為類屬性的初始值0。 盡管對類的屬性值進…

cache教程 5.分布式節點的通信

0.對原教程的一些見解 其回顧完請求流程就是抽象了兩個接口&#xff0c;PeerPicker和PeerGetter。這樣操作&#xff0c;讀者閱讀時可能很難快速明白其含義&#xff0c;不好理解為什么就創建出兩個接口&#xff0c;感覺會比較疑惑。原教程的評論中也有討論這點。 本教程就先不創…

如何寫好PPT報告

寫好PPT的技巧和方法 PPT報告是現代工作和學習中常用的一種形式&#xff0c;它能夠通過圖文并茂的方式將信息傳達給觀眾。然而&#xff0c;很多人在制作PPT報告時并不知道如何下手&#xff0c;容易出現混亂的情況。為了幫助大家寫好PPT報告&#xff0c;下面總結了一些方法和…

Python爬取酷我音樂

&#x1f388; 博主&#xff1a;一只程序猿子 &#x1f388; 博客主頁&#xff1a;一只程序猿子 博客主頁 &#x1f388; 個人介紹&#xff1a;愛好(bushi)編程&#xff01; &#x1f388; 創作不易&#xff1a;喜歡的話麻煩您點個&#x1f44d;和?&#xff01; &#x1f388;…

pytest + yaml 框架 -59.用例失敗重跑機制pytest-rerunfailures

前言 有些接口可能不太穩定&#xff0c;第一次跑的時候由于網絡原因或者其它原因失敗&#xff0c;但是重新跑2次又成功了。 對于這種需要重新跑幾次的場景&#xff0c;可以使用用例失敗重跑機制&#xff0c;需安裝pytest-rerunfailures 插件。 場景示例 失敗重跑需要依賴 py…

【Axure原型分享】3D多柱狀圖_中繼器版

今天和大家分享3D多柱狀圖_中繼器版的原型模板&#xff0c;鼠標移入時&#xff0c;對應區域的背景會高亮變色&#xff0c;并且顯示對應柱狀體的數據。那這個原型是用Axure原生元件制作的&#xff0c;樣式交互都可以自行修改&#xff0c;圖表數據在中繼器表格里填寫&#xff0c;…

【二者區別】cuda和cudatoolkit

Pytorch 使用不同版本的 cuda 由于課題的原因&#xff0c;筆者主要通過 Pytorch 框架進行深度學習相關的學習和實驗。在運行和學習網絡上的 Pytorch 應用代碼的過程中&#xff0c;不少項目會標注作者在運行和實驗時所使用的 Pytorch 和 cuda 版本信息。由于 Pytorch 和 cuda 版…

mac安裝elasticsearch8.x

es下載地址&#xff1a; Past Releases of Elastic Stack Software | Elastic https://www.elastic.co/cn/downloads/past-releases#elasticsearch 選擇8.10版本 進入es bin目錄下執行啟動命令 ./elasticsearch 這個時候localhost:9200無法訪問 原因是是因為開啟了ssl認證…

R語言,table()函數實現統計每個元素出現的頻數+并將最終統計頻數結果轉換成dataframe數據框形式

在 R中&#xff0c;要統計dataframe數據框中每個元素出現的頻數&#xff0c;可以使用table()函數。以下是一個示例&#xff1a; 目錄 一、創建數據 二、統計第一列每個元素出現的頻數 三、統計第二列每個元素出現的頻數 四、將頻數結果轉換為數據框&#xff0c;并改列名 一…

Cannot find cache named ‘‘ for Builder Redis

當引入 Redissson 時&#xff0c;springCache 緩存機制失效 原因&#xff1a;springCache 默認使用本地緩存 Redisson 使用redis 緩存 最后都轉成redis了。。。 總感覺哪不對 兩者居然不共存

nodejs+vue+微信小程序+python+PHP的外賣數據分析-計算機畢業設計推薦django

構建一種完全可實現、可操作的開放源代碼信息收集系統&#xff0c;幫助記者完成工作任務。采編人員僅需輸入所收集到的網址及題目即可迅速啟動收集工作并進行信息歸類。 2.根據新的數據收集要求&#xff0c;采用云計算技術實現新的收集器的迅速部署。對于資料采集點的改版&…

Java接入ChatGPT接口簡單示例

我們定義了一個名為ChartGPTConfig的類&#xff0c;它有兩個私有成員變量apiKey和apiUrl&#xff0c;分別表示ChartGPT的API密鑰和API URL。 public class ChartGPTConfig {private final String apiKey;private final String apiUrl;public ChartGPTConfig(String apiKey, St…

angular hero學習

install nodehttps://nodejs.org C:\xxx\Downloads\node-v20.10.0-x64 C:\Program Files\nodejs\ C:\angular>node -v v20.10.0 C:\angular>npm -v 10.2.3 install angualr npm install -g angular/cli error # 設置淘寶源npm config set registry https://registry.…

基于Qt的登錄頁面設計

題目&#xff1a; 完善對話框&#xff0c;點擊登錄對話框&#xff0c;如果賬號和密碼匹配&#xff0c;則彈出信息對話框&#xff0c;給出提示”登錄成功“&#xff0c;提供一個Ok按鈕&#xff0c;用戶點擊Ok后&#xff0c;關閉登錄界面&#xff0c;跳轉到其他界面 如果賬號和…

Node.js管理工具npm簡單介紹

1.npm用途說明 我們在寫node.js項目的時候npm工具是避免不的&#xff0c;那么我們如何使用該工具去管理包文具呢&#xff1f;首先我們先介紹npm工具的幾種用途&#xff1a; 可以從npm服務器下載別人編寫的第三方包到本地使用。可以從npm服務器下載并安裝別人編寫的命令行程序…

音樂制作工具 Ableton Live 12中文最新 for Mac

Ableton Live 12 Mac具有直觀的界面和強大的功能&#xff0c;使得音樂制作變得更加簡單和高效。它支持實時錄制、編輯和混音&#xff0c;用戶可以在創作過程中隨時進行修改和調整。此外&#xff0c;該軟件還提供了各種音頻效果、虛擬樂器和采樣器&#xff0c;使用戶可以創建出更…

Springboot入門篇

一、概述 Spring是一個開源框架&#xff0c;2003 年興起的一個輕量級的Java 開發框架&#xff0c;作者Rod Johnson 。Spring是為了解決企業級應用開發的復雜性而創建的&#xff0c;簡化開發。 1.1對比 對比一下 Spring 程序和 SpringBoot 程序。如下圖 坐標 Spring 程序中的…