recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment l'entrée el de l'élément ui surveille-t-elle la touche Entrée.

Il ne semble y avoir aucun événement enter parmi les événements officiellement exposés, puis écrire @keyup.enter directement sur el-input n'a pas réussi à capturer l'événement. J'espère que Dieu pourra m'éclairer ~~

.
阿神阿神2863 Il y a quelques jours882

répondre à tous(5)je répondrai

  • 漂亮男人

    漂亮男人2017-05-19 10:48:36

    @keyup.enter.native

    répondre
    0
  • 怪我咯

    怪我咯2017-05-19 10:48:36

    <el-input type="password" v-model="loginForm.password" placeholder="password" @keyup.enter.native="loginSubmit"></el-input>

    @keyup.enter.native peut être déclenché

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:48:36

    element-ui api indique qu'il n'y a pas d'événement onkeyup, il est donc recommandé de modifier l'entrée si vous devez utiliser cet événement

    répondre
    0
  • PHPz

    PHPz2017-05-19 10:48:36

    Je suis d'accord avec le point de vue de @CoquettishPoppy. Je vous suggère de créer une entrée native avec un style similaire.

    répondre
    0
  • 为情所困

    为情所困2017-05-19 10:48:36

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <link href="http://cdn.bootcss.com/element-ui/1.2.7/theme-default/index.css" rel="stylesheet" />
    </head>
    <body>
        <p id="app">
            <el-input v-model="input" v-enter @enter.native="log" placeholder="请输入内容"></el-input>
        </p>
    
        <script src="http://cdn.bootcss.com/vue/2.1.0/vue.min.js"></script>
        <script src="http://cdn.bootcss.com/element-ui/1.2.7/index.js"></script>
    
        <script>
            Vue.directive('enter', {
                bind: function (el, binding, vnode) {
                    const input = el.getElementsByTagName('input')[0];
    
                    input.addEventListener('keypress', function (e) {
                        var key = e.which || e.keyCode;
    
                        if (key === 13) { // 13 is enter
                            // code for enter
                            el.dispatchEvent(new Event('enter'))
                        }
                    })
                },
                unbind: function (el, binding, vnode) {
    
                }
            })
    
            new Vue({
                el: '#app',
                data() {
                    return {
                        input: null
                    }
                },
                methods: {
                    log() {
                        console.log(this.input)
                    }
                }
            })
        </script>
    </body>
    </html>

    répondre
    0
  • Annulerrépondre