Property 'value' does not exist on type 'HTMLElement'.

这个错误提示 TS2339: Property 'value' does not exist on type 'HTMLElement' 表示 TypeScript 认为 HTMLElement 类型上没有 value 属性。通常在表单元素(如 <input><textarea>)上才会有 value 属性,而 HTMLElement 是一个更通用的类型,它不一定具有 value

要解决这个问题,你可以将 this.externalInputElement 类型明确指定为一个支持 value 属性的更具体类型,例如 HTMLInputElementHTMLTextAreaElement。可以通过类型断言来实现:

解决方案 1:类型断言

(this.externalInputElement as HTMLInputElement).dispatchEvent(new Event('input'));

解决方案 2:检查类型

如果你不确定 externalInputElement 是否始终为 <input> 元素,先检查它的类型再执行操作:

if (this.externalInputElement instanceof HTMLInputElement) {
  this.externalInputElement.dispatchEvent(new Event('input'));
}

这将确保只有在 externalInputElementHTMLInputElement 时才会触发事件,避免潜在的类型错误。