在搜索框中敲回车,实现模糊查询的业务

文章介绍了在Vue中如何使用事件修饰符来阻止表单的默认提交行为,特别是在自定义组件上使用/native修饰符绑定原生事件。通过@example.com`keyup.enter.native`防止页面刷新,并展示了其他常见事件修饰符如`.stop`,`.prevent`,`.once`的用途。
摘要由CSDN通过智能技术生成

如果在一个 form 表单中的 input 输入框里敲回车,浏览器默认会提交表单(跳转页面)。

<form action="">
<input type="text" name="pwd">
</form>

搜索条件只有一个输入框时,如果使用了@keyup.enter.native=“handleQuery” 原始键盘回车事件来触发搜索操作,会对整个页面都进行刷新,想让页面不刷新,可使用 @submit.native.prevent 原始提交事件

在此 input 内部回车时,需要阻止自动提交表单:

<el-form @submit.native.prevent></el-form>

Vue 的事件修饰符

在 vue 中,为 html5 标签绑定事件的方式如下:

<form @submit="submit">
<input type="text">
</form>
// 当表单提交时执行
submit(e){
e.stopPropergation() // 阻止事件冒泡
e.preventDefault() // 阻止浏览器的默认行为
}

在上述事件处理函数中,经常需要:阻止浏览器默认行为、阻止事件冒泡、获取按键键值、获取事件触发时的属性

等需求。 vue 认为,事件处理函数内部应该更多的聚焦在业务功能的实现上,而不是这些琐碎的事件对象处理。

所以 vue 提供了很多事件修饰符来帮助简化这些代码:

<button @click.stop="doClick"></button> // 绑定点击事件,将自动阻止事件冒泡
<a @click.prevent="clickA" href="#">链接</a> // 阻止浏览器默认行为
<button @click.once="doClick"></button> // 该事件将仅生效1次
<input @keyup.enter="submit"> // keyup事件触发后,判断是回车键时执行submit
<input @keyup.page-down="next">

为 el-input 绑定回车事件的写法如下:

<el-input @keyup.native.enter="" />

.native 的作用

native 事件修饰符的作用是:将当前绑定的事件当做 html 原生事件

<input @keyup="" /> keyup为dom原生事件:按键抬起事件
<el-input @keyup="" /> keyup被理解为elinput自定义组件的自定义事件

所以,以后为自定义组件绑定原生事件时,一般都会加一个 .native 修饰符,来告诉vue:这是一个原生事件,不

是组件的自定义事件:

<el-input @keyup.native=""/>
<el-button @click.native=""><el-button>
<el-input @blur.native=""/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值