suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So erkennen Sie das Clear-Button-Click-Ereignis bei V-Select (Vue-Select)

Ich erstelle ein Dropdown-Menü in v-select und nachdem ich beim Klicken auf die Schaltfläche „Löschen“ eine Option ausgewählt habe, muss ich das Dropdown-Menü löschen und das Optionsfeld auf die Anfangsstufe ändern.

So überprüfen Sie, ob auf die Schaltfläche „Löschen“ (x) geklickt wurde. Ich habe versucht, on-change 用于获取所选值,它工作正常,而 @click usw. zu verwenden, aber nichts davon funktioniert. Bitte helfen Sie mir.

<template>
  <v-select
    v-model="selected"
    :reduce="(option) => option.id"
    :options="[
      { label: 'One', id: 1 },
      { label: 'Two', id: 2 },
    ]"
    @onChange="searchProduct"
    
  />
</template>

<script>
export default {
  data() {
    return {
      selected: 3,
    }
  },
 methods(){
  searchProduct(selected){
  console.log('selected value ',selected)
}

}
</script>

Ich freue mich auf eine Möglichkeit, mit Dropdown-Löschereignissen umzugehen.

P粉436688931P粉436688931338 Tage vor479

Antworte allen(1)Ich werde antworten

  • P粉311464935

    P粉3114649352023-12-28 09:43:47

    由于我们还没有任何显式的事件,因此我们可以通过观察v-model值来实现此要求。

    watch: {
        selected(value) {
            if (!value) {
                // Your logic here
            }
        }
    }

    根据要求进行现场演示

    Vue.component("v-select", VueSelect.VueSelect);
    
    new Vue({
      el: "#app",
      data: {
        selected: 3
      },
      watch: {
        selected(value) {
          if (!value) {
            this.selected = 3;
          }
        }
      }
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue-select/3.10.3/vue-select.js"></script>
    <link rel="stylesheet" href="https://unpkg.com/vue-select/dist/vue-select.css"/>
    <div id="app">
      <v-select
        v-model="selected"
        :reduce="(option) => option.id"
        :options="[
          { label: 'One', id: 1 },
          { label: 'Two', id: 2 },
        ]"
      />
    </div>

    Antwort
    0
  • StornierenAntwort