You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vuetify v-btn点击时切换按钮颜色?

实现按钮颜色在black和primary间切换的方案

核心思路

通过响应式变量控制按钮颜色,点击时切换变量值即可实现颜色切换,同时正确结合v-bind="props"的用法。

具体实现代码

Vue 3 (Composition API)

<template v-slot:activator="{ props }">
  <v-btn 
    :color="currentColor" 
    v-bind="props"
    @click="toggleColor"
  >
    SELECTION
  </v-btn>
</template>

<script setup>
import { ref } from 'vue'

// 定义响应式变量存储当前颜色,初始值设为black
const currentColor = ref('black')

// 切换颜色的方法
const toggleColor = () => {
  currentColor.value = currentColor.value === 'black' ? 'primary' : 'black'
}
</script>

Vue 2 (Options API)

<template v-slot:activator="{ props }">
  <v-btn 
    :color="currentColor" 
    v-bind="props"
    @click="toggleColor"
  >
    SELECTION
  </v-btn>
</template>

<script>
export default {
  data() {
    return {
      currentColor: 'black'
    }
  },
  methods: {
    toggleColor() {
      this.currentColor = this.currentColor === 'black' ? 'primary' : 'black'
    }
  }
}
</script>

关键说明

  • 使用:color(即v-bind:color的简写)将按钮颜色绑定到响应式变量currentColor,替代原来固定的color="black"。
  • v-bind="props"会将插槽传递的属性绑定到按钮上,和:color不会冲突,Vue会自动合并这些属性。
  • 点击事件@click="toggleColor"触发颜色切换逻辑,通过三元表达式判断当前颜色并切换到另一种。

内容的提问来源于stack exchange,提问作者Divya Bharathi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:52:31