vue项目中,如何监听enter事件?
以登录页面为例:
使用vue的@keyup.enter="login"
, 如果使用的了element-ui
或mint-ui
,则使用@keyup.enter.native="login"
<div class="g-input">
<!-- user -->
<mt-field label=" " v-model.trim="loginForm.username" placeholder="请输入用户名" class="login-user" @keyup.enter.native="login"></mt-field>
<!-- password -->
<mt-field label=" " v-model="loginForm.password" placeholder="请输入密码" :type="passwordType" class="login-pwd" @keyup.enter.native="login">
<div :class="toggleClass" @click="togglePassword"></div>
</mt-field>
<mt-field label="验证码" v-model.trim="loginForm.code" placeholder="输入验证码" @keyup.enter.native="login">
<img :src="captcha" height="35px" width="80px" @click="getCode" style="margin-left:10px;">
</mt-field>
</div>
<mt-button type="default" size="large" @click.native="login" class="login-btn login-btn-submit" v-text="loading" :style="loadingStyle"></mt-button>
@keyup.enter
有一个缺点就是,使用的当前元素必须要获得focus焦点,如果没有获取到焦点,绑定的就会失效。
所以如果要应用在<button>
按钮上就比较尴尬了
document.addEventListener
监听keyup
事件该方法当然在任何元素上都是有效的,也不管是否有focus。但要注意的是,跳出当前组件时一定要销毁它。
mounted() {
// 绑定enter事件
this.enterKeyup();
},
beforeDestroy() {
// 销毁enter事件
this.enterKeyupDestroyed();
},
methods: {
enterKey(event) {
const componentName = this.$route.name;
if (componentName == "Login") {
const code = event.keyCode
? event.keyCode
: event.which
? event.which
: event.charCode;
if (code == 13) {
this.login();
}
}
},
enterKeyupDestroyed() {
document.removeEventListener("keyup", this.enterKey);
},
enterKeyup() {
document.addEventListener("keyup", this.enterKey);
},
// 登录
login() {}
}
表格如果字段多,有横向滚动条是不是不方便?可拖拽的滚动是不是就方便了?
使用create-vue创建vue3项目,vite,vue3
相对VUE2 ,VUE3做了哪些优化和改进呢?
vue项目,不使用window.location.reload(),如何刷新当前页面?
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
vue2.0 v-html指令有潜在的xss风险,如何解决?
vue项目通过axios怎么下载二进制文件或图片?
ant.design UI框架 同时使用v-model或value属性时, placeholder不显示
如何在VUE项目中添加stylelint,检查css,scss,less的语法问题,保证团队代码的规范统一
VUE全局函数
定义了服务端渲染的属性名称常量SSR_ATTR,定义了一些资产类型常量ASSET_TYPES,定义了生命周期相关钩子函数的函数名称
使用iviewui-admin框架构建管理系统时,遇到的各类问题
vue项目中动态图片路径拼接
vue下filter方法的调用
21个vue顶级UI框架: Vuetify,Quasar,Vue Material,Keen-UI,Buefy,Bootstrap Vue,Muse-UI,AT-UI,Vux,iView,Uiv,Vuikit,Onsen UI+Vue,Semantic UI+Vue,Fish-UI,Mint UI,Framework7 Vue,Cube UI,Vueblu,Ant Design Vue
&amp;amp;quot;.vue&amp;amp;quot;文件是如何解析成js对象的~
立个flag,看过年这段时间能不能把vue的源码读完?多年前看过jQuery的部分源码,如果想要更深入的了解vue,还是得从源码开始
vue源码阅读,慢慢学习
vue的生命周期函数
vue组件的数据data为什么一定要是函数 ?
Mint-ui this.$messagebox点取消时,报错:Uncaught (in promise) cancel
vue-validate使用
这就是个vue的坑。。。
vue如何监听enter事件?
vue使用axios进行form表单提交
vue中如何改变title标题
如果在vue2.0中使用NProgress进度条
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。也是vue2.0官方推荐的,同时不再对vue-resource(vue1.0使用)进行更新和维护
分析Vue.js源码
npm run dev模式下,webpack4+vue2项目下,类似'/user/login'二级路由,刷新时静态资源路径不对,静态资源返回404
[Vue warn]: Error in render: "TypeError: Cannot read property 'matched' of undefined"
did you register the component correctly? For recursive components, make sure to provide the "name" option
vue.js如何查看注册了哪些组件,获取组件名称
vue底层的Virtual DOM就是基于snabbdom修改的