效果:

代码
<el-col
:span="12"
v-for="item in storeData.store"
:key="item.code"
class="eachStore"
>
<span class="eachStore">
<img
:src="
starStoresCode.indexOf(item.code) == -1
? starUrl
: starBlueUrl
"
class="star"
@click="addStarStores(item)"
/>
<span
@click="selectStore(item)"
:class="{
bk: selectStoreCode.indexOf(item.code) !== -1
}"
style="font-size: 14px"
>{{ item.name }}</span
>
</span>
</el-col>
css:
.bk {
background-color: rgb(0, 255, 255);
}
js:(若要实现点击更改图片,需要现在data中定义,且在created生命周期中require路径赋值)
data() {
return {
starUrl: '',
starBlueUrl: '',
}
},
watch: {},
created() {
this.starUrl = require('@/assets/icons/star.png')
this.starBlueUrl = require('@/assets/icons/starBlue.png')
},
selectStoreCode 就是把选中的 code 单独拿出来的数组
本文介绍如何在Vue中通过点击事件改变元素的样式,如切换背景色或替换图片。通过绑定CSS样式和JavaScript逻辑,在数据中记录选中状态,并在组件生命周期中处理图片路径。
2694

被折叠的 条评论
为什么被折叠?



