【问题标题】:Which type to expect for the passed input event parameter?传递的输入事件参数期望哪种类型?
【发布时间】:2022-01-13 17:01:52
【问题描述】:

当从 Angular 应用程序中的文本输入中侦听 input 事件时,我将事件参数传递给我的更新函数。当使用 any 类型时,我可以通过 event.target.value 读取新值。

语法看起来不错

但是当使用InputEvent 类型时,我将无法再访问value 属性(它似乎在那里不存在)。这不起作用

  public updateText(event: InputEvent) {
    this.currentText = event.target?.value;
  }

因为

类型“EventTarget”.ts(2339) 上不存在属性“值”

表达我的意思:

我创建了一个组件,其中包含一个 string 类型的变量和一个更新该变量的方法

export class SomeInputStuffComponent {
  currentText: string = ""

  public updateText(event: any) {
    this.currentText = event.target.value;
  }
}

在我的 HTML 中,我有这个输入字段

<input type="text" [value]="currentText" (input)="updateText($event)">

我的问题:

事件参数的正确类型是什么?

【问题讨论】:

标签: javascript angular typescript


【解决方案1】:

&lt;input&gt; 标签传递的事件是 HTMLInputElement。

这就是我的意思:

https://stackblitz.com/edit/angular-nkwths?file=src%2Fapp%2Fapp.component.ts

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2022-08-17
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多