当前位置: 首页 > 知识库问答 >
问题:

前端 - 请问element plus如何把<el button>绑定enter键?

赵高韵
2023-04-22

差不多这样

methods: {
        catch_enter(){
            console.log('press enter')
        }
}


<el-button type="primary">点击</el-button>

看到有资源说这样:https://blog.csdn.net/cqlcqlcui123/article/details/130141190
这样也太费劲了,大家都是这么写的吗?

另外找到的材料都是element-ui,vue2的,基本上都推荐用.native

@keyup.enter.native="handleAddBook"

但是写进去之后提示这个被deprecated了,也不生效

'v-on' directives don't support the modifier 'naive'

共有3个答案

宰父跃
2023-04-22

可以使用 Element Plus 提供的 el-input 组件,在 el-input 中嵌套 el-button,然后监听 el-input 的 @keyup.enter 事件,触发 el-button 的点击事件。
示例代码如下:

<template>
  <div>
    <el-input v-model="inputValue" @keyup.enter="handleClick">
      <el-button slot="append" @click="handleClick">搜索</el-button>
    </el-input>
  </div>
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    }
  },
  methods: {
    handleClick() {
      console.log('点击搜索')
    }
  }
}
</script>

这样,当在输入框中按下 Enter 键时,就会触发按钮的点击事件。

仲承福
2023-04-22

因为Vue3 废弃native, 所以你的题目中的方法用一下吧

赫连冠玉
2023-04-22

根据@玛拉_以琳 的回答,最终还是用了https://blog.csdn.net/cqlcqlcui123/article/details/130141190 的写法。

只不过资料的写法是composition风格的api,如果想用vue2那种选项式api,可以:

export default {
    methods: {
            enter_up(e){
                console.log('in enter up')
                if (e.keyCode == 13 || e.keyCode == 100) {
                    console.log('success')
                }
            },
    },
    mounted(){
        window.addEventListener('keydown', this.enter_up)
    },
    unmounted(){
        window.removeEventListener('keydown', this.enter_up, false)
    }
}


<el-button type="primary" @keydown.enter="enter_up()">enter success</el-button>
 类似资料:
  • <el-checkbox v-model="checked" label="Option 1" size="large" /> 期望 checked 的值是 0 和 1(0 表示 true,1 表示 false)。 怎么绑定这个值呢? 尝试过: <el-checkbox :value="checked" label="Option 1" size="large" />

  • arr = [{ a: 1 }, { b: 2, c: 3 }] 转换为 arr = { a: 1, b: 2, c: 3 }

  • 示例代码如下: 我想通过key动态的绑定processInfo的属性,但是这样不生效,请问各位大佬有什么解决办法?

  • 后端返回样式数据,比如el-header的height:60,前端如何将返回的json数据动态绑定到el-header中,同时假设el-header有个子元素的line-height需要等于60,那么,如何将拿到的数据60也绑定到子元素上

  • 问题内容: 我尝试使用docker-py(版本1.3.1)启动Docker容器。我想将容器内部端口映射到其他端口,但无法正确公开它们。 我这样做是这样的: 在当前情况下,输出如下: docker ps告诉我: 但是如果我给它映射3000-> 3000,2424-> 2424和2480-> 2480 关键是从命令行我可以使用正确的端口映射启动容器。那是 docker运行-d -p 3001:3000

  • 请问 git merge 如何跳过 vim 确认提示? 使用过 git merge 的大神应该都知道,合并一个分支的时候经常会弹出一个 vim 确认框,大部分的情况下需要手动输入 :wq 退出这个提示然后合并完成。 我希望再命令行直接跳过这个步骤,该怎么办呢?跪谢大神指点。