我对为v-text-field中的清除图标创建工具提示很感兴趣.您能就如何实现这一点提供指导吗?

          <v-text-field
            ref="newSearchField"
            v-model="text"
            class="search-input"
            :class="{
              'rounded-r-lg': $vuetify.breakpoint.smAndDown,
              'rounded-l-lg': $vuetify.breakpoint.xsOnly
            }"
            type="text"
            solo
            :label="label"
            :disabled="disabled"
            :placeholder="label"
            persistent-placeholder
            autofocus
            data-test="search-input"
            hide-details
            clearable
            autocomplete="off"
            @keyup="nextItem"
            @click:clear="
              clear()
              $nuxt.$data.layoutName === 'home' ? (text = '') : $emit('clear')
            "
            @input="autocomplete"
            @keydown="blured = false"
            @focus="blured = false"
          >

推荐答案

将清除图标的职业(.v-field__clearable)传递给v-tooltip的:activatorprops :

<v-tooltip activator=".v-field__clearable">clear input</v-tooltip>

确保 Select 器引用单个元素,例如,通过在v文本字段上使用一个类(在您的示例中,您可以使用.search-input .v-field__clearable).

查看它在代码片段中的工作方式:

const { createApp, ref } = Vue;
const { createVuetify } = Vuetify
const vuetify = createVuetify()
const app = {
  template: `
      <v-app>
        <v-main>
          <v-text-field
            v-model="msg"
            class="search-input"
            clearable
          />
          <v-tooltip activator=".search-input .v-field__clearable">
              clear it
          </v-tooltip>
        </v-main>
      </v-app>
  `,
  setup(){
    return {
      msg: ref('hello world')
    }
  }

}
createApp(app).use(vuetify).mount('#app')
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/vuetify@3/dist/vuetify.min.css" />
<link href="https://cdn.jsdelivr.net/npm/@mdi/font/css/materialdesignicons.min.css" rel="stylesheet">
<div id="app"></div>
<script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@3/dist/vuetify.min.js"></script>

Vue.js相关问答推荐

如何将模板传递给EJS菜单

为什么 Vue 在将设置脚本中的计算(computed)属性渲染到模板时找不到变量

在 Vue.js 2.6 的 Javascript 中访问 的内容

在 v-for 中定义变量有什么问题吗?

如何 for each 动态创建的按钮/文本字段设置唯一变量?

即使响应为 200,也会调用 Axios Catch

Vue 单元测试:您正在开发模式下运行 Vue?

Vuetify - 如何保持第一个扩展面板默认打开,如果我打开另一个面板,其他面板应该关闭?

在 vuejs 中将旧代码修改为 vue router 4

将 props 传递给 Vue 组件中的元素属性

Vue路由保持活动和挂载行为

全局禁用 vuetify 组件的涟漪效应

如何在某些路由上隐藏全局组件(例如导航栏)?

如何克隆props对象并使其无react

Vue Cli 3 不允许我在 Webpack 中处理 SVG

Vue.js 拦截器

无法访问函数内的数据属性

在子元素 vueJS.2 之间切换active类

Axios 请求拦截器在我的 vue 应用程序中不起作用

禁用外部主题文件产生的 Dart SASS 警告