<div style="display: inline;margin: 10px" v-for="(item,index) in preparation.questionList" v-if="item">
<el-button class="interaction-but" @click="interactiveQuestion(item,index)">(抢答){{item.questionName}}</el-button>
</div>
这种循环遍历多个button的,我想实现根据下标index点击具体的一个button后添加背景颜色,标示已完成,需要怎么实现?使用:class会发生点击另一个,其他的button的已完成背景色消失。
<div style="display: inline;margin: 10px" v-for="(item,index) in preparation.questionList" v-if="item">
<el-button class="interaction-but" :class="{'active':item.active}" @click="interactiveQuestion(item,index)">(抢答){{item.questionName}}</el-button>
</div>
//js
interactiveQuestion(item,index){
this.preparation.questionList.map(x=>{x.acive=false});
this.preparation.questionList[index].active=true;
}
//css
.interaction-but.active{
background: red;
color:#fff;
}
添加事件修饰符
用:class
背景色的显示隐藏可以用一个数组来存,每次点击时对应下标的值就改为true,需要隐藏时对应下标的值改为false