效果:
一、首先如果你的需求是点击元素变色就可以了,可以用第一种方法
//普通元素类似button按钮不用 tabindex=“1”,由于div不支持:focus伪类,可通过增加tabIndex属性使其支持:focus
<div v-for="(item,index) in tableData" :key="index" class="fontStyle" tabindex="1" > <div @click="systemChange(item,index)" >{{ item.system }}</div> </div>
复制
css:
fontStyle:focus{ color:#0C5ACF; }
复制
二、元素变色后点击其他地方保留颜色
首先在data中加入selectedIndex:0;
其次:
<div v-for="(item,index) in tableData" :key="index" class="fontStyle" tabindex="1" > <div :class="selectedIndex == index ? 'active':''" @click="systemChange(item,index)" class="lineStyle">{{ item.system }}</div> </div>
复制
js:
systemChange(val,index){ this.selectedIndex = index; },
复制
css:
.lineStyle.active { color:#0C5ACF; }
复制