当前位置:网站首页>el-tabs(标签栏)的入门学习
el-tabs(标签栏)的入门学习
2022-08-03 05:29:00 【m0_67391121】
el-tabs(标签栏)的入门学习
适用场景
与导航栏相似,项目中常见的是点击某个导航栏,主页面(el-main)模块的最上方会显示我们的标签栏集合,点击不同的导航栏,标签栏会在不断追加,若点击到标签集合中已存在,就进入选中指定的标签栏,显示页面
知识点
el-tabs嵌套el-tab-pane使用el-tabs的v-model对应el-tab-pane的nameel-tabs的type可以指定为card,border-cardel-tab-pane的label为显示的标签内容,标签的内容在首尾标签内部el-tabs可以设置closable,editable,addable,分别设置tab-remove,edit,tab-add动态修改标签集合- 还有
tab-click钩子 el-tabs中设置tab-position,修改标签位置,可以为top,bottom,left,right
效果图

代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id='app'>
<el-tabs v-model='tabPaneName' @tab-click='handleClick'>
<el-tab-pane v-for='tab in tabs' :key='tab.name+"1"' :name='tab.name' :label='tab.label'>{
{tab.content}}
</el-tab-pane>
</el-tabs>
<el-tabs v-model='tabPaneName' type='card' closable @tab-remove='handleRemove'>
<el-tab-pane v-for='tab in tabs' :key='tab.name+"2"' :name='tab.name' :label='tab.label'>{
{tab.content}}
</el-tab-pane>
</el-tabs>
<el-tabs v-model='tabPaneName' type='border-card' editable @edit='handleEdit'>
<el-tab-pane v-for='tab in tabs' :key='tab.name+"3"' :name='tab.name' :label='tab.label'>{
{tab.content}}
</el-tab-pane>
</el-tabs>
<el-radio-group v-model='position'>
<el-radio label='top'>top</el-radio>
<el-radio label='bottom'>bottom</el-radio>
<el-radio label='left'>left</el-radio>
<el-radio label='right'>right</el-radio>
</el-radio-group>
<el-tabs v-model='tabPaneName' type='border-card' :tab-position='position'>
<el-tab-pane v-for='tab in tabs' :key='tab.name+"3"' :name='tab.name' >
<template slot='label'>
<i class='el-icon-search'></i>{
{tab.label}}
</template>
{
{tab.content}}
</el-tab-pane>
</el-tabs>
</div>
</body>
</html>
<script>
new Vue({
el: "#app",
data() {
return {
position: '',
tabPaneName: 'first',
tabs: [{ name: 'first', label: '首页', content: '欢迎光临' },
{ name: 'second', label: '菜单', content: '有小炒,火锅,烧烤' },
{ name: 'third', label: '饮料', content: '杨枝甘露,冰糖雪梨' },
{ name: 'fouth', label: '部门', content: '餐饮,财经' }]
}
},
methods: {
//点击钩子
handleClick(target, action) {
console.log(target.name, action)
},
//删除钩子
handleRemove(targetName) {
this.tabs.forEach((item, index) => {
if (item.name === targetName) {
this.tabs.splice(index, 1)
}
});
},
//编辑钩子
handleEdit(targetName, action) {
if (action === 'remove') {
this.tabs.forEach((item, index) => {
if (item.name === targetName) {
this.tabs.splice(index, 1)
}
})
} else if (action === 'add') {
let addItem = {
name: "newName" + this.tabs.length,
label: "newLabel" + this.tabs.length,
content: "newContent" + this.tabs.length
}
this.tabs.push(addItem)
}
}
}
})
</script>
官网
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢

在Zabbix5.4上使用ODBC监控Oracle数据库

【干货分享】PCB 板变形原因!不看不知道

C # program with administrator rights to open by default

【onnx 输入尺寸】修改pytorch生成的onnx模型的输入尺寸

ES 中时间日期类型 “yyyy-MM-dd HHmmss” 的完全避坑指南
![mysql 数据去重的三种方式[实战]](/img/37/ad4007a32d9eb563a303756785e72f.png)
mysql 数据去重的三种方式[实战]

Command errored out with exit status 1类似问题解决方案

ESXI中损坏虚拟机数据如何找回

PCB 多层板为什么都是偶数层?

【设计指南】避免PCB板翘,合格的工程师都会这样设计!
随机推荐
IPV4地址详解
MySQL的安装教程(嗷嗷详细,包教包会~)
Oracle数据文件收缩_最佳实践_超简单方法
Docker安装Mysql
笛卡尔积处理商品属性sku
记一次postgresql中使用正则表达式
Shell脚本--信号发送与捕捉
Migration of BOA Server
Podman一篇就学会
nvm 卸载详细流程
ClickHouse 数据插入、更新与删除操作 SQL
使用Contab调用Shell脚本执行expdp自动备份Oracle
【IoU loss】IoU损失函数理解
mysql 数据去重的三种方式[实战]
2021-06-20
mysql事务与多版本并发控制
【EA Price strategy OC1】以实时价格为依据的EA,首月翻仓!】
检测微信显示无效头像图片链接
Command errored out with exit status 1类似问题解决方案
linux安装mysql