在UniApp中,可以使用CSS伪类选择器和动态样式绑定来实现点击某个元素时改变其颜色的效果。假设有四个元素分别为A、B、C和D。
首先,为这四个元素添加一个共同的类名,例如"item"。
然后,在页面的样式中定义两种颜色,一种是原始颜色,另一种是点击后的变色。
- <style>
- .item {
- background-color: 原始颜色;
- }
-
- .item.active {
- background-color: 点击后的变色;
- }
- style>
接下来,在Vue组件中,使用v-for指令遍历渲染这四个元素,并为每个元素添加一个点击事件
- <template>
- <div>
- <div
- v-for="(item, index) in itemList"
- :key="index"
- :class="{ 'item': true, 'active': activeIndex === index }"
- @click="changeColor(index)"
- >
- {{ item }}
- </div>
- </div>
- </template>
-
- <script>
- export default {
- data() {
- return {
- itemList: ['A', 'B', 'C', 'D'],
- activeIndex: null
- };
- },
- methods: {
- changeColor(index) {
- this.activeIndex = index;
- }
- }
- };
- </script>