vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue循环el-button,点击哪个按钮,那个按钮变色

vue循环el-button实现点击哪个按钮,那个按钮就变色

作者:别搞花里胡哨的

这篇文章主要介绍了vue循环el-button实现点击哪个按钮,那个按钮就变色问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue循环el-button,点击哪个按钮,那个按钮变色

场景

有多个按钮,一个个的写并且一个个绑定事件代码很冗余,所以就循环,绑定一个事件,传不同的参数即可

实现

我这里有两种button,由于一些原因,“全部”按钮没有放在循环里面

data里面

methods

效果

循环多个<el-button> 如何设置某一个选中

如果您想在一个循环中的多个el-button中选择一个按钮并将其设置为选中状态,可以使用一个变量来标识选中的按钮索引。以下是一种实现方式:

在Vue组件中定义一个selectedButton变量

用于存储选中按钮的索引值:

data() {
  return {
    selectedButton: -1 // -1 表示没有选中的按钮
  }
}

使用v-for循环渲染10个el-button

并根据selectedButton变量来设置选中状态:

<el-button v-for="(item, index) in 10" :key="index" :class="{'selected': selectedButton === index}" @click="selectedButton = index">按钮 {{ index }}</el-button>

在CSS中定义选中状态的样式

.selected {
  background-color: #00ff00; /* 设置选中时的背景色 */
  color: #ffffff; /* 设置选中时的文字颜色 */
  /* 可以根据需求设置其他样式 */
}

这样,当点击某个按钮时,会将相应的索引值赋给selectedButton变量,从而触发样式的改变,实现按钮的选中效果。

如果是一个<Button>则:

/**1.添加一个自定义的类名,并设置选中时的样式:**/
<el-button :class="{'selected': isSelected}" @click="isSelected = !isSelected">按钮</el-button>
 
 
/**2. 在CSS中定义选中状态的样式:**/
data() {
  return {
    isSelected: false
  }
}
 
/**3. 在Vue组件中定义isSelected变量,并初始化为false:**/
.selected {
  background-color: #00ff00; /* 设置选中时的背景色 */
  color: #ffffff; /* 设置选中时的文字颜色 */
  /* 可以根据需求设置其他样式 */
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文