Intenté buscar en línea, aunque encontré una respuesta que es esta -> https://antenna.io/blog/2018/03/handle-single-and-double-clicks-on-the-same-element-in- vue-js/
pero no pude entenderlo, así que puedo encontrar una solución inspirada en la solución anterior
detectClick() { this.clickCount += 1; if (this.clickCount === 1) { var singleClick = setTimeout(() => { console.log("we are in singleClick"); this.currentPickerDate(); this.clickCount = 0; }, 500); } if (this.clickCount === 2) { console.log("we are in double Click"); clearTimeout(singleClick); this.showEvent(); this.clickCount = 0; } }y el componente es
<v-date-picker v-model="date" @click:date="detectClick" :events="allEvents" :picker-date.sync="pickerDate" event-color="red lighten-2"> </v-date-picker>No creo que se requiera currentPickerFunction, pero si lo necesita, hágamelo saber. En la función detectClick, el problema es que mi función setTimeout no funciona. No sé por qué. Si sabe una mejor respuesta, hágamelo saber. Gracias.
estoy usando vue 2 y vuetify
@click - un solo clic
@dblclick - doble clic
Editar: no importa, leí mal la pregunta
Debido a que var singleClick se define en la primera cláusula if, tiene alcance de bloque. Por lo tanto, no se puede acceder a singleClick en la segunda cláusula if. Debe definir singleClick en el ámbito global. Puede ver que clickTimer: null se ha definido en data() si mira el enlace que ha compartido:
data () { return { clickCount: 0, clickTimer: null }; },Mira el enlace sobre el alcance de javascript