如何在vuejs中创建输入事件

ccrfmcuu  于 2023-08-07  发布在  Vue.js
关注(0)|答案(4)|浏览(111)

我在表单文本上有输入,我想在日志中看到使用什么事件键的输入?

<input class="form-control" type="text" //event>

字符串
在本文中,例如我键入

"seat"

then the console log appears
s
se
sea
seat

q9yhzks0

q9yhzks01#

也许vue watcher就是你要找的地方。

<template>
  <div id="app">
    <p>      
      <input v-model="value" placeholder="hi">      
    </p> 
    <p>value: {{ value }} </p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      value: 'hey',
    };
  },
  watch: {
    value(val) {
      console.log(val)
    }
  },  
  methods: {
  }
};
</script>

字符串

8xiog9wr

8xiog9wr2#

大多数情况下,“@input”不是必需的,可以更好地替换为v-modelwatch,如@Maik所指出的(更符合vue最佳实践)。但是,如果您有一个特定的上下文并希望访问输入值:

methods: {
     handleInput(evt: any) {
         console.log(evt.target.value)
     }
}

@input="handleInput"

字符串

xjreopfe

xjreopfe3#

您可以附加事件处理程序并打印出日志,如下面的js fiddle所示。打开浏览器开发工具控制台选项卡并检查。
JS FIDDLE

new Vue({
  el: "#app",
  data() {
   return {
     inputValue: null,
   }
  },
  methods: {
    inputChange(e) {
      console.log(e.target.value);
    }
  }
})

<div id="app">
  <input type="text" :value="inputValue" @input="inputChange" />
</div>

字符串

ffdz8vbo

ffdz8vbo4#

input元素在编辑时触发2个有用的事件:

  1. input事件在每次元素的值更改时触发。
  2. change事件在提交值时触发,例如按enter键,从下拉列表中选择值等。
    text输入元素中,您希望每次按下按键,input事件就是您所需要的:
<input class="form-control" type="text" @input="inputEvent">

字符串
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event

相关问题