基于element-ui实现标签选项卡



65 256 86



特效描述:基于element-ui实现 标签选项卡,基于element-ui实现标签选项卡

代码结构

1. 引入CSS

<link rel="stylesheet" href="css/element.min.css">

2. 引入JS

<script type="text/javascript" src="js/vue.min.js"></script>
<script src="js/element.min.js"></script>

3. HTML代码

<div id="myVue">
	<h2>通用标签页,基于element-ui</h2>
	<p>1.基础用法</p>
	<template>
		<el-tabs v-model="activeName" @tab-click="handleClick">
			<el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
			<el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
			<el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
			<el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
		</el-tabs>
	</template>
	<p>2.选项卡样式</p>
	<template>
		<el-tabs v-model="activeName2" type="card" @tab-click="handleClick">
			<el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
			<el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
			<el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
			<el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
		</el-tabs>
	</template>
	<p>3.卡片化</p>
	<el-tabs type="border-card">
		<el-tab-pane label="用户管理">用户管理</el-tab-pane>
		<el-tab-pane label="配置管理">配置管理</el-tab-pane>
		<el-tab-pane label="角色管理">角色管理</el-tab-pane>
		<el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane>
	</el-tabs>
	<p>4.位置</p>
	<template>
		<el-radio-group v-model="tabPosition" style="margin-bottom: 30px;">
			<el-radio-button label="top">top</el-radio-button>
			<el-radio-button label="right">right</el-radio-button>
			<el-radio-button label="bottom">bottom</el-radio-button>
			<el-radio-button label="left">left</el-radio-button>
		</el-radio-group>
		<el-tabs :tab-position="tabPosition" style="height: 200px;">
			<el-tab-pane label="用户管理">用户管理</el-tab-pane>
			<el-tab-pane label="配置管理">配置管理</el-tab-pane>
			<el-tab-pane label="角色管理">角色管理</el-tab-pane>
			<el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane>
		</el-tabs>
	</template>
	<p>5.自定义标签页</p>
	<el-tabs type="border-card">
		<el-tab-pane>
			<span slot="label"><i class="el-icon-date"></i> 我的行程</span> 我的行程
		</el-tab-pane>
		<el-tab-pane label="消息中心">消息中心</el-tab-pane>
		<el-tab-pane label="角色管理">角色管理</el-tab-pane>
		<el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane>
	</el-tabs>
	<p>6.动态增减标签页</p>
	<div style="margin-bottom: 20px;">
		<el-button size="small" @click="addTab(editableTabsValue2)">
			add tab
		</el-button>
	</div>
	<el-tabs v-model="editableTabsValue2" type="card" closable @tab-remove="removeTab">
		<el-tab-pane v-for="(item, index) in editableTabs2" :key="item.name" :label="item.title" :name="item.name">
			{{item.content}}
		</el-tab-pane>
	</el-tabs>
</div>
<script type="text/javascript">
	new Vue({
		el: '#myVue',
		data() {
			return {
				activeName: 'second',
				activeName2: 'first',
				tabPosition: 'top',
				editableTabsValue2: '2',
				editableTabs2: [{
					title: 'Tab 1',
					name: '1',
					content: 'Tab 1 content'
				}, {
					title: 'Tab 2',
					name: '2',
					content: 'Tab 2 content'
				}],
				tabIndex: 2
			}
		},
		methods: {
			handleClick(tab, event) {
				console.log(tab, event);
			},
			addTab(targetName) {
				let newTabName = ++this.tabIndex + '';
				this.editableTabs2.push({
					title: 'New Tab',
					name: newTabName,
					content: 'New Tab content'
				});
				this.editableTabsValue2 = newTabName;
			},
			removeTab(targetName) {
				let tabs = this.editableTabs2;
				let activeName = this.editableTabsValue2;
				if(activeName === targetName) {
					tabs.forEach((tab, index) => {
						if(tab.name === targetName) {
							let nextTab = tabs[index + 1] || tabs[index - 1];
							if(nextTab) {
								activeName = nextTab.name;
							}
						}
					});
				}
				this.editableTabsValue2 = activeName;
				this.editableTabs2 = tabs.filter(tab => tab.name !== targetName);
			}
		}
	})
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: 导航切换 文字标签 彩色文字 图片切换 文字闪烁 文字切换 打字机 背景切换 文字列表 手风琴 文字弹幕 选项卡自动切换 文字高亮 视频切换 列表切换 渐隐切换 全屏切换 切换按钮 缩放切换 文字叠加 滚动切换 滑动选项卡切换 文字拖动 文字提示框 文字收缩展开 文字放大缩小 文字翻转旋转 文字淡出淡进 文字全屏 文字延迟加载 360全景 html5文字动画 文字滚动 文字滑动 文字切换 选项卡切换 滑动手风琴 图片文字 文字导航菜单 文字

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到