vue常用技巧-动态btn的封装
2024-08-30 00:49:34
@1.要求:
1.点击某个按钮后激活active样式,其余按钮则为normal样式
2.要满足任意个数btn(btn个数不确定)
@2.思路:
1.首先,btn个数不确定则意味着必须使用v-for循环复用btn
2.btn需要有两个对应样式,一个是普通未激活btn,一个是active(btn active)
3.需要注意的是如果把active等激活状态样式写到最外层(scss),可能权重和btn一样而无法层叠样式,需要加上!important 给active加权// 当然如果写到里面就无需这样处理,只是之后维护可能会繁琐一点,根据实际情况处理
4.因为涉及状态的改变,所以必须有一个状态两标志用户选择了btn,而且btn必须有标识用来区分到底选中的是那个btn
btn的排序一般交给v-for循环出来的index
<view
class="btn"
v-for="(item, index) in list"
:key="index"
@click="toggle(index)"
:class="[isActive == index ? 'active' : '']"
>
// 注意在循环中可以直接将index当成参数传递给事件方法
5.隐藏可选的btn是一组index值,例如[0,1,2,3],当我们选中某个按钮时,就选中了某个对应值,我们把对应值用状态变量isActive
存储起来,就知道选中了哪个btn
6.那么只要@click 某个btn,就把当前btn的index赋给isActive,之后和各个btn的index值进行比较,和isActive相等的那个就是激活的btn
data() {
return {
isActive: 0,
list: [
{
name: '同比分析',
},
{
name: '同比分析',
},
{
name: '分类型对比',
},
{
name: '分类型',
},
],
}
},
methods: {
toggle(index) {
this.isActive = index
},
},
最新文章
- jquery input 下拉框(模拟select控件)焦点事件
- C# Redis Server分布式缓存编程 --网络转载
- Timer类和TimerTask类
- 搭建android开发环境
- Java 集合深入理解(13):Stack 栈
- Using Eclipse With CloudStack
- HDOJ 1316 How Many Fibs?
- Linux php/php-fpm 安装,配置
- 对await(),notify()的理解
- OpenGL下多个sampler在shader中的使用
- JS基础——原型和原型链
- 对于Arrays的deep相关的方法。
- Shell脚本中$0、$?、$!等的意义
- 【UI测试】--易用性
- SpringMVC 上传文件and过滤器
- JAVA 构造函数 静态变量
- OA项目CRUD和单元测试(一)
- Linux系统_Linux平台“盖茨木马”初步了解
- windows下简单配置apache
- XML2JSON 的【net.sf.json.JSONException: nu.xom.ParsingException must be followed by either attribute specifications, ";>;"; or ";/>;";】问题解决办法