Vuetify - 清除 v 文本字段时如何触发方法

问题描述 投票:0回答:6

有没有办法在使用 Vuetify 清除文本字段时调用方法?

<v-text-field
    class="mt-2 mb-0"
    clearable
    solo
    v-model="searchQuery"
    append-icon="search"
    @click:append-outer="searchCos"
    label="Nom de compagnies ou mots-clés">
</v-text-field>
onClear() {
  doSomethingHere()
}
vue.js vuetify.js nuxt.js
6个回答
49
投票

您可以使用

@click:clear="()"
,这样您就可以在调用该函数的同时清除文本。

这是例子

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


10
投票

使用

clear-icon-cb
道具。这允许您在单击清除图标时使用自定义回调函数。

<v-text-field
  clearable
  :clear-icon-cb="onClearClicked">
</v-text-field>

onClearClicked () {
  // do something
}

4
投票

您可以使用 clearableCallback

<v-text-field
    ref="inputRef"
    class="mt-2 mb-0"
    clearable
    .....
 >
</v-text-field>
<v-btn text @click="clearInput">clear</v-btn>

<script>
   export default {
     ......
     methods:{
       .....
       clearInput() {
          this.$refs.inputRef.clearableCallback()
       }
    }

   }

4
投票

调用输入字段的 reset 函数,例如:

<v-text-field ref="inputRef"></v-text-field>
<v-btn @click="clearInput">clear</v-btn>

<script>
   export default {
     methods:{
       clearInput() {
          this.$refs.inputRef.reset()
       }
     }
   }


1
投票

如果您希望清除按钮将模型值更新为特定值,您也可以覆盖清除图标:

<v-text-field
  v-model="myValue"
  append-icon="mdi-close"
  @clear:append="myValue = 1">
</v-text-field>

0
投票

对于我的情况,@click:clear 不运行。 要在文本输入 清除时运行操作,我使用 @input :

<v-text-field v-model="search" @input="sendSearch" clearable hide-details></v-text-field>

在我的方法中:

methods: {
  sendSearch(){
    this.$emit("send-search",this.search);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.