在禁用按钮上显示Vuetify工具提示

ejo*_*o49 5 javascript vuetify.js

我在用Vuetify禁用的按钮上显示工具提示时遇到困难。

我确保启用按钮后可以显示工具提示,这可以按预期进行。我认为这个问题是相关的,但我不太了解这是否适用于v-btn。我试图创建一个自定义类并将其添加到特定v-btn元素中,但是我没有任何运气。

HTML范例

<div id="app">
  <v-app id="inspire">
    <v-container fluid class="text-xs-center">
      <v-layout
        flex
        justify-space-between
        row
        wrap
      >
        <v-flex xs12>
          <v-btn @click="show = !show">toggle</v-btn>
        </v-flex>

        <v-flex xs12 class="mt-5">
          <v-tooltip v-model="show" top>
            <template v-slot:activator="{ on }">
              <v-btn disabled icon v-on="on">
                <v-icon color="grey lighten-1">shopping_cart</v-icon>
              </v-btn>
            </template>
            <span>Programmatic tooltip</span>
          </v-tooltip>
        </v-flex>
      </v-layout>
    </v-container>
  </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)

示例JavaScript

new Vue({
  el: '#app',
  data () {
    return {
      show: false
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

https://codepen.io/anon/pen/ZNqpOW?editors=1010

我希望将鼠标悬停在禁用按钮上时可以显示工具提示。我希望以此来解释为什么按钮被禁用。

ejo*_*o49 7

不知道这是否是绝对最佳的方法,但是我可以通过将其包装在div标签中来在禁用按钮上获得工具提示:

码笔

<v-tooltip v-model="show" top>
  <template v-slot:activator="{ on }">
    <div v-on="on">
      <v-btn disabled icon>
        <v-icon color="grey lighten-1">shopping_cart</v-icon>
      </v-btn>
    </div>
  </template>
  <span>Programmatic tooltip</span>
</v-tooltip>
Run Code Online (Sandbox Code Playgroud)

  • 我不得不将我的包裹到 &lt;span&gt; 而不是 &lt;div&gt; 中,因为它没有放置在正确的位置。干杯 (3认同)

Hex*_*dus 7

随着 vuetify 工具提示演变为插槽语法,正确的解决方案现在是这个:

<v-tooltip bottom :disabled="valid">
    <template v-slot:activator="{ on }">
    <div v-on="on" class="d-inline-block">
        <v-btn color="primary" :disabled="!valid">Button</v-btn>
    </div>
    </template>
    <span>You must accept first</span>
</v-tooltip>
Run Code Online (Sandbox Code Playgroud)