J'ai un champ de saisie et v-on:input
il exécute une méthode appelée activate
qui ressemble à ceci:
export default: {
data() {
return {
isHidden: true
}
},
methods: {
activate() {
this.isHidden = false;
}
}
}
isHidden
active/désactive une icône (peu importe la nature de cette propriété de données; je ne l'utilise qu'à des fins d'exemple).
Donc actuellement, lorsqu'un utilisateur fait un input
, il active immédiatement la fonction activate
. Existe-t-il un moyen de le retarder via setTimeout
? J'ai essayé de faire ce qui suit mais cela ne fonctionne pas:
methods: {
setTimeout(function() {
activate() {
this.isHidden = false;
}
}, 500)
}
Essaye ça:
methods: {
activate() {
setTimeout(() => this.isHidden = false, 500);
}
}
Ou sans fonction flèche:
methods: {
activate() {
var that = this;
setTimeout(function() { that.isHidden = false; }, 500);
}
}