Types of parameters 'e' and 'payload' are incompatible.

来源:5-4 ValidateInput 第三部分 — 支持 v-model

長洲島的鹹魚

2021-10-29

老师您好,
我按照您的代码能实现双向绑定的,但不知道为何@input处出现了此错误:
但改成Event就可以了,不知道为什么。

Type ‘(e: KeyboardEvent) => void’ is not assignable to type ‘(payload: Event) => void’.
Types of parameters ‘e’ and ‘payload’ are incompatible.ts(2322)
(property) input: ((payload: Event) => void) | undefined

图片描述
图片描述

期待您的解答,谢谢!

写回答

1回答

张轩

2021-10-29

同学你好 其实错误已经提示的很明显了 这里 input 的事件它希望的是一个 (e: Event)=> void的函数,而你这里定义的是 (e:KeyboardEvent) => void 类型的函数。这里的 Event 和 KeyboardEvent 不是一个类型,事实上 KeyboardEvent 是 Event 的一个子类,所以你改成 Event 就可以啦

3
0

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程