代码之家  ›  专栏  ›  技术社区  ›  Meena Chaudhary

无法为Vuetify v-btn-toggle中的选定按钮设置活动类

  •  0
  • Meena Chaudhary  · 技术社区  · 4 年前

    我正在使用Vuetify v-button-toggle 在三个按钮之间切换,如下所示。每个按钮都有不同的活动类。但单击按钮不会设置相应的活动类。我错过了什么?

    <v-btn-toggle
      v-model="justify"
      borderless
      dense
      group
      class="d-flex flex-column "
    >
      <v-btn active-class="dnrSelected" exact>
        <v-icon right class="mr-2">mdi-close</v-icon>
        <span>Do Not Recommend</span>
      </v-btn>
      <v-btn active-class="rSelected">
        <v-icon right class="mr-1">mdi-check</v-icon>
        <span>Recommend</span>
      </v-btn>
      <v-btn active-class="srSelected">
        <v-icon right class="mr-1">mdi-check-all</v-icon>
        <span>Strongly Recommend</span>
      </v-btn>
    </v-btn-toggle>
    

    CSS类

    <style scoped>
      .dnrSelected {
        background-color: #e57373;
      }
      .rSelected {
        background-color: #c5e1a5;
      }
      .srSelected {
        background-color: #81c784;
      }
    </style>
    

    更新:按预期,单击按钮时会将类添加到按钮中

    <button type="button" class="v-btn srSelected v-btn--active v-btn--contained theme--light v-size--default"><span class="v-btn__content"><i aria-hidden="true" class="v-icon notranslate mr-1 v-icon--right mdi mdi-check-all theme--light"></i> <span>Strongly Recommend</span></span></button>
    

    .v-btn-toggle--group > .v-btn.v-btn {
      background-color: transparent !important;
      border-color: transparent;
      margin: 4px;
      min-width: auto;
    }
    

    0 回复  |  直到 4 年前
        1
  •  1
  •   Vijay Joshi    4 年前

    我刚试过codepen,效果很好。 https://codepen.io/v08i/pen/rNaXyxe

    这是部分代码。代码笔的完整代码。

    <div id="app">
      <v-app id="inspire">
        <v-card
          flat
          class="py-12"
        >
          <v-card-text>
            <v-row
              align="center"
              justify="center"
            >
              <v-col cols="12">
                <p class="text-center">Multiple</p>
              </v-col>
              <v-btn-toggle
                v-model="toggle_exclusive"
    
              >
                <v-btn active-class="aa">
                  <v-icon>mdi-format-align-left</v-icon>
                </v-btn>
                <v-btn active-class="bb">
                  <v-icon>mdi-format-align-center</v-icon>
                </v-btn>
                <v-btn active-class="cc">
                  <v-icon>mdi-format-align-right</v-icon>
                </v-btn>
                <v-btn active-class="dd">
                  <v-icon>mdi-format-align-justify</v-icon>
                </v-btn>
              </v-btn-toggle>
    
              <v-col
                cols="12"
                class="text-center"
              >
                Model: {{ toggle_exclusive }}
              </v-col>
            </v-row>
          </v-card-text>
        </v-card>
      </v-app>
    </div>
    

    不过有一个建议。我认为作用域CSS可能很混乱,因为它们是vuetify自己的组件。你能搬走吗 scoped

        2
  •  0
  •   Meena Chaudhary    4 年前

    我发现的一种解决方法是通过给包含元素一个如下所示的ID,专门针对定制CSS中的元素

    <v-btn-toggle
     id="btnGroup"
     borderless
     dense
     group
     class="d-flex flex-column"
    >
    

    id

    #btnGroup .dnrSelected {
      background-color: #ef9a9a !important;
    }
    
    推荐文章