vue.js - 在 Vue.js 中按下 Enter 按钮时如何调用函数
问题描述
所以我在ui-select
下面有一个选项代码,它允许用户在下拉列表中搜索项目并且效果很好。但是在用户按下 ENTER按钮的情况下,我现在的功能没有执行。
<ui-select
v-model="groupName"
has-search
@keydown="createGroup($event)"
></ui-select>
示例输出如下:
在我的方法中,我有这个:
createGroup: function(evt){
console.log(evt);
},
任何人都知道如何做到这一点?
解决方案
正如我在问题评论中提到的那样,由于在选项选择 - Source上ui-select
停止事件冒泡,因此无法监听输入事件。我只是建议重新考虑设计,如果您需要在用户选择一个选项时创建一些东西,您可以监听事件并做一些额外的事情或事件阻止选择某些选项。我认为这是更多(Vue-correct)数据驱动的设计。ui-select
input
new Vue({
el: "#app",
data: {
colourStrings: ["Red","Blue", "Green"],
select1: "",
log: ""
},
methods: {
setValue(val) {
// ui-select call setValue with our empty string when rendered
val && this.createGroup(val);
this.select1 = val;
},
createGroup(val) {
// some stuff
this.log += val + " created!\n"
}
}
})
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/keen-ui@1.0.1/dist/keen-ui.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/keen-ui@1.0.1/dist/keen-ui.min.css" rel="stylesheet"/>
<div id="app">
<ui-select
label="Favourite colour"
placeholder="Select a colour"
:options="colourStrings"
:value="select1"
@input="setValue"
></ui-select>
<pre>{{log}}</pre>
</div>
推荐阅读
- java - 从 postgres 检索(印地语或英文字体数据)时的数据格式是什么
- java - 如何避免 JPA 一对多映射(同一模型中的两个一对多关系)中的冗余数据(列表获取)?
- apache - 无法访问 Letsencrypt SSL 站点
- python - 如何在 VSCode 的窗格中显示 python 环境对象?
- java - 登录时验证 BCrypt Hash 密码
- python - 在python中拆分键值字符串并将其移动到df列中
- python - 任何人都可以解释列表中 is 运算符的工作机制吗?
- visual-studio - 当我在手机中安装我的 apk 时,它显示“您要安装此应用程序吗?它不需要任何特殊访问权限。”
- javascript - mongoose -schema 选项针对特定字段更新
- centos7 - 执行openstack的剧本时无法连接到我的sql