如何更改/覆盖 vuetify 中开关标签的默认颜色?

5 vue.js vue-component vuejs2 nuxt.js vuetify.js

正如您从 vuetify 的官方文档中看到的,开关的标签有自己的预定义颜色。我如何覆盖它们以获得黑色文本?我将 switch 作为道具从一个名为 form structure 的全局组件传递到另一个我命名为“Primary”的组件中

https://vuetifyjs.com/en/components/selection-controls

<v-switch v-if="externalSwitch" model="switch2":label="externalSwitchLabel"> 
</v-switch>

<v-layout v-for="info in information" :key="info.title">
  <v-flex>
    <form-structure :externalSwitchLabel="`${info.title}`" 
      :externalSwitch="true" :hasSubTitle="true" :subTitle="`${info.status}`" 
      :script="`${info.script}`">
    </form-structure>
  </v-flex>
</v-layout>
Run Code Online (Sandbox Code Playgroud)

我的数组如下所示:

information : [
  {title: "Something1", status:"active", script: "Hello"},
  {title: "Something2", status:"in Progress", script: "Ciao" }
]
Run Code Online (Sandbox Code Playgroud)

我的 CSS 看起来像这样:

<style scoped>
.v-label.theme--light {
  color: black
}
</style>
Run Code Online (Sandbox Code Playgroud)

ABu*_*cin 7

我尝试了插槽方法,它对我有用:

<v-switch>
   <template v-slot:label>
      <span class="input__label">Label text</span>
   </template>
</v-switch>
Run Code Online (Sandbox Code Playgroud)

CSS 看起来像这样:

.input__label {
   color: black;
}
Run Code Online (Sandbox Code Playgroud)


Bou*_*him 1

您可以通过给予它或值来使用colorprop,如下所示:rgbhexadecimal

new Vue({
  el: '#app',
  data () {
    return {
   
      switch1: true,
      switch2: true
    }
  }
})
Run Code Online (Sandbox Code Playgroud)
.v-input__slot .v-label{
color: black!important
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/npm/babel-polyfill/dist/polyfill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.4.0/dist/vuetify.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/vuetify@1.4.0/dist/vuetify.min.css">
<div id="app">
  <v-app id="inspire">
    <v-container fluid px-0>
     
      <v-switch
        :label="`Switch 1: ${switch1.toString()}`"
        v-model="switch1"
                color="#f45525"
      ></v-switch>
       <v-switch
        :label="`Switch 2: ${switch2.toString()}`"
        v-model="switch2"
                color="rgb(0,150,45)"
      ></v-switch>
    </v-container>
  </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)