|
@@ -1,12 +1,22 @@
|
|
<template>
|
|
<template>
|
|
<div class="nav-click">
|
|
<div class="nav-click">
|
|
- <ul>
|
|
|
|
- <li class="nav-click-body" :class="item.showClick?'nav-click-body-active':''" v-for="(item,index) in titles" :key="index" :title="item.title"
|
|
|
|
- >
|
|
|
|
- <div class="nav-click-body-title" @click="changeTag(index)">{{item.title}} {{item.flag}}</div>
|
|
|
|
- <div v-if="item.showClick" class="nav-click-body-close" @click="removeTag(index)">×</div>
|
|
|
|
- </li>
|
|
|
|
- </ul>
|
|
|
|
|
|
+ <div class='nav-wrap'>
|
|
|
|
+ <i v-if='titles.length>8' @click='navleft' class="el-icon-arrow-left"></i>
|
|
|
|
+ <div class='nav-click-div'>
|
|
|
|
+ <div ref='navclickwrap' class='nav-click-wrap'>
|
|
|
|
+ <ul>
|
|
|
|
+ <li class="nav-click-body" :class="item.showClick?'nav-click-body-active':''" v-for="(item,index) in titles" :key="index" :title="item.title"
|
|
|
|
+ @click="changeTag(index)">
|
|
|
|
+ <div class="nav-click-body-title" >{{item.title}} {{item.flag}}</div>
|
|
|
|
+ <div v-if="item.showClick" class="nav-click-body-close" @click.stop="removeTag(index)">×</div>
|
|
|
|
+ </li>
|
|
|
|
+ </ul>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <i v-if='titles.length>8' @click='navright' class="el-icon-arrow-right"></i>
|
|
|
|
+ </div>
|
|
|
|
+ <el-button v-if='titles.length>1' class='close-button' @click='removeElseTag' type="primary">关闭其他</el-button>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
@@ -23,10 +33,21 @@
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ left:0,
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+
|
|
methods: {
|
|
methods: {
|
|
-
|
|
|
|
|
|
+ navleft(){
|
|
|
|
+ this.left+=100
|
|
|
|
+ console.log(this.left)
|
|
|
|
+ this.$refs.navclickwrap.style.left = -this.left+'px'
|
|
|
|
+ },
|
|
|
|
+ navright(){
|
|
|
|
+ this.left-=100
|
|
|
|
+ console.log(this.left)
|
|
|
|
+ this.$refs.navclickwrap.style.left = -this.left+'px'
|
|
|
|
+ },
|
|
// 删除标签页
|
|
// 删除标签页
|
|
removeTag(index) {
|
|
removeTag(index) {
|
|
if(this.titles.length>1){
|
|
if(this.titles.length>1){
|
|
@@ -46,6 +67,9 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ removeElseTag(){
|
|
|
|
+ this.$emit('removeElseTag')
|
|
|
|
+ },
|
|
// 切换标签页
|
|
// 切换标签页
|
|
changeTag(index) {
|
|
changeTag(index) {
|
|
console.log(this.titles[index])
|
|
console.log(this.titles[index])
|
|
@@ -63,10 +87,36 @@
|
|
</script>
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
.nav-click{
|
|
.nav-click{
|
|
|
|
+ position:relative;
|
|
padding:10px 0;
|
|
padding:10px 0;
|
|
|
|
+ .nav-wrap{
|
|
|
|
+ position:relative;
|
|
|
|
+ width:94%;
|
|
|
|
+ }
|
|
|
|
+ .el-icon-arrow-left,.el-icon-arrow-right{
|
|
|
|
+ position:absolute;
|
|
|
|
+ top:50%;
|
|
|
|
+ transform: translateY(-50%);
|
|
|
|
+ cursor:pointer;
|
|
|
|
+ z-index:10;
|
|
|
|
+ }
|
|
|
|
+ .nav-click-div{
|
|
|
|
+ overflow:hidden;
|
|
|
|
+ margin:0 40px;
|
|
|
|
+ }
|
|
|
|
+ .nav-click-wrap{
|
|
|
|
+ position:relative;
|
|
|
|
+ }
|
|
|
|
+ .el-icon-arrow-left{
|
|
|
|
+ left:15px;
|
|
|
|
+ }
|
|
|
|
+ .el-icon-arrow-right{
|
|
|
|
+ right:15px;
|
|
|
|
+ }
|
|
ul{
|
|
ul{
|
|
display:flex;
|
|
display:flex;
|
|
margin:0;
|
|
margin:0;
|
|
|
|
+ padding:0;
|
|
}
|
|
}
|
|
ul>li{
|
|
ul>li{
|
|
list-style:none;display:flex;
|
|
list-style:none;display:flex;
|
|
@@ -74,6 +124,7 @@
|
|
padding:10px;
|
|
padding:10px;
|
|
margin:0 5px;
|
|
margin:0 5px;
|
|
color:#4E5969;
|
|
color:#4E5969;
|
|
|
|
+
|
|
// display:inline-block;
|
|
// display:inline-block;
|
|
}
|
|
}
|
|
ul>li:hover{
|
|
ul>li:hover{
|
|
@@ -84,6 +135,16 @@
|
|
}
|
|
}
|
|
.nav-click-body-title{
|
|
.nav-click-body-title{
|
|
margin-right:5px;
|
|
margin-right:5px;
|
|
|
|
+ max-width: 100px;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ }
|
|
|
|
+ .close-button{
|
|
|
|
+ position:absolute;
|
|
|
|
+ right:10px;
|
|
|
|
+ top:50%;
|
|
|
|
+ transform: translateY(-50%);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|