javascript - Vue键盘事件为何要加上native?
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-07-05 11:01:27
0
4
887

<template>

<el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-position="left" label-width="0px"
         class="demo-ruleForm login-container" >
    <h3 class="title">系统登录</h3>
    <el-form-item prop="account">
        <el-input type="text" v-model="ruleForm2.account" auto-complete="off" placeholder="账号"></el-input>
    </el-form-item>
    <el-form-item prop="password">
        <el-input type="password" v-model="ruleForm2.password" auto-complete="off" placeholder="密码" @keyup.enter.native="handleSubmit2"></el-input>
    </el-form-item>

    <el-form-item style="width:100%;">
        <el-button type="primary" style="width:100%;"  @click.native.prevent="handleSubmit2" :loading="logining" >登录
        </el-button>
    </el-form-item>
</el-form>

</template>

@keyup.enter这里必须加上 .native 才能生效.

女神的闺蜜爱上我
女神的闺蜜爱上我

全部回复(4)
Peter_Zhu

因为你@keyup.enter是写在一个封装好的组件上
如果你写在一个input上就不需要.native
至于为什么,请参考vue文档

三叔

给组件绑定原生事件采用的方法

阿神

@ 这个东西实际上是 v-on 的简写,而 v-on 则是对 Vue 的事件体系封装后的 API 接口。

Vue 的官方文档中指出了,Vue 使用的是一套自己的事件传递机制,如 @click 等事件是经过 Vue 封装的。因此,在一些实际上处理 DOM 原生事件的场合才需要添加额外的标识符。

Peter_Zhu

沉了沉了....

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板