实现效果图: 默认选中第一个按钮,未选中按钮为粉色,点击时颜色变为红色

 利用动态类名,当定义isChange数值和下标index相同时,赋予act类名,实现变色效果

<template>
	<view class="page">
		<view class="btns" v-for="(item, index) in 6">
			<view class="btn" :class="{ act: isChange === index }" @click="change(index)">按钮{{ index + 1 }}</view>
		</view>
	</view>
</template>
<script>
import { ref } from 'vue';
export default {
	setup() {
		const isChange = ref(0);
		const change = ty => {
			isChange.value = ty;
		};
		return { isChange, change };
	}
};
</script>
<style>
.page {
	padding: 50px;
	display: flex;
	flex-wrap: wrap;
}

.btn {
	width: 60px;
	height: 30px;
	background-color: pink;
	margin: 10px;
}
.act {
	background-color: red;
}
</style>

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐