https://jsfiddle.net/wangmin/rdjjpc7a/1628/
dans cette démo, quand je clique sur entrer
j'ai utilisé e.stopPropagation() et e.preventDefault()
mais ça marche pas
ça changera une nouvelle ligne
Je ne veux pas ça
comment éviter ...
Merci
Il y a plusieurs choses qui ne vont pas dans votre exemple :
Au lieu de @keyup.onEnter="update"
, vous devez appeler @keyup.enter="onEnter"
, car le nom de votre méthode est onEnter
, pas update
, et le nom du modificateur est enter
, pas onEnter
.
Deuxièmement : la nouvelle ligne est placée dans la zone de texte sur keydown
, pas sur keyup
, donc le code complet doit être :
<div id="editor">
<textarea :value="input" @keydown.enter="onEnter"></textarea>
</div>
Voici un violon mis à jour : https://jsfiddle.net/tedt89kv/
N'oubliez pas non plus que vos utilisateurs peuvent copier et coller du texte avec des retours à la ligne dans votre document. Peut-être qu'un Watcher serait plus ce que vous voulez. Dans l'observateur, vous pouvez supprimer toutes les nouvelles lignes à chaque modification de la valeur de la zone de texte.
En outre, à partir du modèle de problème que vous avez supprimé pour publier votre question :
La liste des problèmes de ce référentiel est exclusivement destinée aux rapports de bogues et aux demandes de fonctionnalités. Pour des questions simples, veuillez utiliser les ressources suivantes :
- Lire la documentation : https://vuejs.org/guide/
- Regardez les didacticiels vidéo : https://laracasts.com/series/learning-vue-step-by-step
- Demandez dans la salle de chat Gitter : https://gitter.im/vuejs/vue
- Demandez sur les forums : http://forum.vuejs.org/
- Rechercher/poser des questions sur le débordement de pile : https://stackoverflow.com/questions/ask?tags=vue.js
merci ... je réfléchirai plus la prochaine fois
Commentaire le plus utile
Il y a plusieurs choses qui ne vont pas dans votre exemple :
Au lieu de
@keyup.onEnter="update"
, vous devez appeler@keyup.enter="onEnter"
, car le nom de votre méthode estonEnter
, pasupdate
, et le nom du modificateur estenter
, pasonEnter
.Deuxièmement : la nouvelle ligne est placée dans la zone de texte sur
keydown
, pas surkeyup
, donc le code complet doit être :Voici un violon mis à jour : https://jsfiddle.net/tedt89kv/
N'oubliez pas non plus que vos utilisateurs peuvent copier et coller du texte avec des retours à la ligne dans votre document. Peut-être qu'un Watcher serait plus ce que vous voulez. Dans l'observateur, vous pouvez supprimer toutes les nouvelles lignes à chaque modification de la valeur de la zone de texte.