【问题标题】:Vue, change native event not working, input native doesVue,更改本机事件不起作用,输入本机确实
【发布时间】:2021-03-05 01:08:44
【问题描述】:

我有一个问题,也许是一个 Vue bug。

我有一个需要 @change.native 事件的自定义组件。但它不会触发任何事情,我自己也找不到关于这个问题的任何信息。

所以我尝试了一些不同的东西,比如 @click.native 和 @input.native 确实有效。即使@input.native 可以工作并做我想做的事,我仍然想知道为什么更改事件不起作用。

有人吗?否则我应该报告这个。

Vue 版本:2.5.2

<custom-input type="search" 
              placeholder="search" 
              v-model="search" 
              @input.native="change" />

【问题讨论】:

  • 您的custom-input 模板是什么样的?
  • 这是您的custom-input 的示例实现,其中change 事件按预期处理:jsfiddle.net/p8v2adyt/1
  • 啊,我错了。所以它确实有效,但我应该取消输入焦点(单击输入之外的某处)以使其触发。我理解变化事件的错误。

标签: vue.js vuejs2


【解决方案1】:

如果自定义组件中的&lt;input /&gt;是另一个元素的子元素,那么.native修饰符绑定的事件监听器将无法到达,因为它正在监听不同元素的事件。

自定义输入.vue:

<template>
    <div>
        <input :value="someValue" />
    </div>
</template>

<script>
export default {
  props: ['value']
}
</script>

因此,如果您遇到这种情况,那么@change.native 将绑定在&lt;div&gt;(包装器)上。 (可悲)您需要手动手动传播事件。

【讨论】:

  • 啊,我错了。所以它确实有效,但我应该取消输入焦点(单击输入之外的某处)以使其触发。我理解变化事件的错误。
猜你喜欢
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 2020-11-23
  • 1970-01-01
  • 2021-07-07
  • 2017-09-26
  • 2021-03-09
  • 2011-10-19
相关资源
最近更新 更多