uniapp 简易滑块切换,简单易改

这篇具有很好参考价值的文章主要介绍了uniapp 简易滑块切换,简单易改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uniapp 简易滑块切换,简单易改,uni-app,前端文章来源地址https://www.toymoban.com/news/detail-808046.html

<template>
	<view class="my-tab w-100 flex-center">
		<view class="tab-without">
			<view class="switch-tab w-100" :style="{height:height,borderRadius:borderRadius,border:borderBox,width:width,backgroundColor:mainBg}">
				<block v-for="(item,index) in tabList" :key="index">
					<view class="h-100 one flex-center font-weight-550" @click="tabClick(index)">{{item}}
					</view>
				</block>
			</view>
			<view class="zg-view flex-center"
				:style="{left:tabLeft,borderRadius:radius,backgroundColor:bgColor,color:textColor,height:height,width:themeWidth}">
				{{tabList[tabIndex]}}
			</view>
		</view>
	</view>
</template>
<script>
	export default {
		props: {
			/* 主体的所需数据的宽度*/
			width: {
				type: String,
				default: "572rpx"
			},
			/* 主体的所需数据的高度*/
			height: {
				type: String,
				default: "52rpx"
			},
			/* 主体的所需数据的圆角*/
			borderRadius: {
				type: String,
				default: "26rpx"
			},
			/* 主体的所需数据的边框*/
			borderBox: {
				type: String,
				default: '2rpx solid #333333'
			},
			/* 主体的所需数据的背景颜色*/
			mainBg: {
				type: String,
				default: '#fff'
			},
			/* 切换的数据 */
			tabList: {
				type: Array,
				default: () => {
					return ['本月数据', '季度数据', '半年数据', '本年数据']
				}
			},
			/* 滑块的背景色 */
			bgColor: {
				type: String,
				default: "#333"
			},
			/* 滑块的文字颜色*/
			textColor: {
				type: String,
				default: "#fff"
			},
			
			
		},
		computed: {
			/* 计算滑块的宽度占比 */
			themeWidth() {
				return 100 / this.tabList.length + '%'
			},
			/* 滑块移动的距离 */
			tabLeft() {
				return (100 / this.tabList.length) * this.tabIndex + '%'
			},
			/* 滑块的圆角 */
			radius() {
				let text = ''
				if (this.tabIndex == 0 && this.borderRadius != '') {
					text = `${this.borderRadius} 0 0 ${this.borderRadius}`
				}
				if (this.tabList.length - 1 == this.tabIndex && this.borderRadius != '') {
					text = `0 ${this.borderRadius}  ${this.borderRadius} 0`
				}
				return text
			}
		},
		data() {
			return {
				tabIndex: 0
			}
		},
		methods: {
			/* 切换方法,同时向外暴露当前点击的按钮 */
			tabClick(index) {
				this.tabIndex = index
				this.$emit('tabClick', index)
			}
		},
	}
</script>
<style lang="scss" scoped>
	.flex-center {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.h-100 {
		height: 100%;
	}

	.one {
		flex: 1;
	}

	.w-100 {
		width: 100%;
	}

	/* 字体权重 */
	.font-weight-500 {
		font-weight: 500;
	}

	.font-weight-550 {
		font-weight: 550;
	}

	.font-weight-600 {
		font-weight: 600;
	}

	.font-weight-700 {
		font-weight: 700;
	}

	.font-weight-bold {
		font-weight: bold;
	}

	.my-tab {
		font-size: 24rpx;

		.tab-without {
			position: relative;

			.switch-tab {
				display: flex;
				align-items: center;
				justify-content: space-between;
			}

			.zg-view {
				position: absolute;
				top: 0;
				left: 0;
				transition: all .3s;
			}
		}

	}
</style>

到了这里,关于uniapp 简易滑块切换,简单易改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【uni-app】【01】底部导航栏与页面切换

    1.(配置文件在哪)uni-app 路由控制是在 pages.json 文件中的。 2.(基本配置项有哪些)初学的时候主要有三个配置项,① pages ② globalStyle ③ tabbar [!TOC] 接下来主要是对这三个配置项做一个简单介绍。 负责页面管理。不需要自己写的,你在项目的 pages 文件夹下创建页面会自动生成配

    2023年04月27日
    浏览(58)
  • 『UniApp』uni-app-打包成App

    大家好,我是 BNTang, 在上一节文章中,我给大家详细的介绍了如何将我开发好的项目打包为微信小程序并且发布到微信小程序商店 趁热打铁,在来一篇文章,给大家详细的介绍如何将项目打包成APP。 打包 App 也是一样的,首先需要配置关于 App 应用的基础信息,打开 manifest

    2024年02月04日
    浏览(108)
  • 【UniApp】-uni-app-网络请求

    经过上个章节的介绍,大家可以了解到 uni-app-pinia存储数据的基本使用方法 那本章节来给大家介绍一下 uni-app-网络请求 的基本使用方法 首先我们打开官方文档,我先带着大家看一下官方文档的介绍:https://uniapp.dcloud.net.cn/api/request/request.html 从官方文档中我们可以看到,可以

    2024年02月04日
    浏览(53)
  • uni-app+vue3微信小程序切换主题皮肤

    思路来源: https://blog.csdn.net/qq_42611074/article/details/128236458 引用store做全局css变量替换; store.js 添加全局的监听函数 common/themeMixin.js main.js 给要切换的页面加上css变量 login.vue 升级版 在base.css写好主题配色; 引用store做全局css变量替换; store.js 添加全局的监听函数 common/themeM

    2024年02月12日
    浏览(65)
  • 【UniApp】-uni-app-打包成网页

    经过上一篇文章的介绍,已经将这个计算器的计算功能实现了,接下来就是我们项目当中的一个发包上线阶段,我模拟一下,目的就是为了给大家介绍一下,uni-app是如何打包成网页的。 除了可以打包成网页,uni-app还可以打包成小程序、App、H5、快应用等等,后面在单独开文

    2024年02月04日
    浏览(72)
  • Uni-app实现左右滑动页面内容切换(兼容微信小程序)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档         前言         整体思路         一、HTML部分         二、Script部分         三、Style部分           (先声明哦我可不是偷懒,只是想学术借鉴一下)因为最近有在做左右滑动功能,

    2024年02月07日
    浏览(106)
  • Uniapp uni-app学习与快速上手

    个人开源uni-app开源项目地址:准备中 在线展示项目地址:准备中 什么是uni-app uni,读 you ni ,是统一的意思。 Dcloud即数字天堂(北京)网络技术有限公司是W3C成员及HTML5中国产业联盟发起单位,致力于推进HTML5发展构建,HTML5生态。 2012年,DCloud开始研发小程序技术,优化webvie

    2024年02月09日
    浏览(64)
  • uni-app:切换页面刷新,返回上一页刷新(onShow钩子函数的使用)

    切换页面刷新:通过onShow()便可实现 返回上一页通过uni.navigateBack({delta: 1});实现 以返回上一页刷新为例 在A页面写入方法refreshHandler() 在A页面写入onLoad(),onShow()  onLoad(): 首次进入页面时执行的方法,这里直接引入refreshHandler() 可以直接查询到页面数据 onShow(): 进入页面执行

    2024年02月15日
    浏览(65)
  • 【uni-app教程】四、UniAPP 路由配置及页面跳转

    uni-app 页面路由为框架统一管理,开发者需要在pages.json里配置每个路由页面的路径及页面样式。类似小程序在 app.json 中配置页面路由一样。所以 uni-app 的路由用法与 Vue Router 不同,如仍希望采用 Vue Router 方式管理路由,可在插件市场搜索 Vue-Router。 uni-app 有两种页面路由跳转

    2024年01月16日
    浏览(77)
  • 【UniApp】-uni-app-项目实战页面布局(苹果计算器)

    经过前面的文章介绍,基本上 UniApp 的内容就介绍完毕了 那么从本文开始,我们就开始进行一个项目的实战 这次做的项目是苹果计算器,这个项目的难度不是很大,但是也不是很简单,适合练手 打开 HBuilderX,点击左上角 文件 - 新建 - 项目 : 项目创建完毕之后,首先来分析

    2024年02月04日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包