封装展开/折叠小箭头切换函数

简介: 封装展开/折叠小箭头切换函数

前言:


使用elementUI折叠组件+导航菜单组件时,有个问题,就是导航菜单关闭上,折叠组件的小箭头没有被隐藏。再加上项目要求使用三角形的图标,正好自己做一个吧。

如图所示:

image.png

1.制作三角形图标


想要什么方向的三角,只需设置border-color即可

我是弄了个span标签,给一个动态的类控制

参考代码:

<span :class="[sanjiao == cot && sanjiaoTorF ? 'sanJiaoBot':'sanJiaoTop']" ></span>

image.png

/* 小三角朝上 */
.sanJiaoTop{
  display: inline-block;
  width:0px;
    height:0px;
    border-width:10px;
    border-style:solid;
    margin-bottom: 10px;
    border-color:transparent transparent #4c7ae3 transparent;
}
/* 小三角朝下 */
.sanJiaoBot{
  display: inline-block;
  width:0px;
    height:0px;
    border-width:10px;
    border-style:solid;
    line-height: 68px;
    border-color:#e71708 transparent transparent  transparent;
}

2.完整的功能步骤(详细)


第一步,data里面定义个变量,v-for渲染的每一项,设置点击事件,让index等于你设置的变量xxx

第二步,data里面再定义个变量,默认为false,再上一步点击事件中,取反

第三步,修改图标的样式

相关参考代码:

<el-collapse-item title="标题" class="padding0 " @click.native="ceshiSanjiao(cot)">
<span :class="[sanjiao == cot && sanjiaoTorF ? 'sanJiaoBot':'sanJiaoTop']" ></span>
   ceshiSanjiao (cot) {
      this.sanjiao = cot
      this.sanjiaoTorF = !this.sanjiaoTorF
    },

3.注意点


有可能点击事件会冒泡或者其他默认事件被触发,解决方法是子级设置点击事件,@click.stop = xx,即可

相关文章
|
1月前
|
存储 自然语言处理 JavaScript
优化箭头函数中的 this 绑定
【10月更文挑战第27天】通过合理地使用箭头函数的词法 `this` 绑定特性,结合其他 ES6 特性,并注意避免一些常见的陷阱和误区,可以更好地优化箭头函数中的 `this` 绑定,提高代码的质量和性能。
16 2
|
2月前
|
JavaScript 前端开发
箭头函数可以使用哪些方式定义
箭头函数是ES6引入的一种新的函数定义方式,使用`=&gt;`符号。它可以简化函数的书写,主要有两种定义方式:1. 简单表达式,如`const fn = () =&gt; {}`;2. 带参数表达式,如`const fn = (arg) =&gt; {}`。
|
4月前
|
Dart
Flutter之ExpansionTile实现以代码方式码折叠、展开
Flutter之ExpansionTile实现以代码方式码折叠、展开
138 4
|
6月前
箭头函数和普通函数的区别
箭头函数和普通函数的区别
27 0
|
7月前
|
自然语言处理
解释一下箭头函数的this绑定行为。
箭头函数的`this`绑定遵循词法作用域,不同于普通函数的动态绑定。它在定义时即确定,不受调用方式影响。这解决了`this`丢失问题,提供了更简洁的语法。例如,当在一个对象中,箭头函数的`this`将指向全局对象或父级作用域,而不是对象本身,与普通函数表现不同,使用时需谨慎。
42 8
|
7月前
箭头函数需要注意的地方
箭头函数需要注意的地方
32 1
|
7月前
【sgCollapseBtn】自定义组件:底部折叠/展开按钮
【sgCollapseBtn】自定义组件:底部折叠/展开按钮
|
7月前
|
前端开发
【前端学习】—箭头函数和普通函数的区别(十四)
【前端学习】—箭头函数和普通函数的区别(十四)
|
存储 Android开发 索引
RecyclerView 折叠/展开功能的实现
最近这一两个周都没有怎么更新 QMUI。因为我一直在搞忙于搞微信读书的讲书界面。沉醉于写 bug 和改 bug 之中。
1024 0
|
前端开发
前端学习案例1-箭头函数的的定义
前端学习案例1-箭头函数的的定义
56 0
前端学习案例1-箭头函数的的定义