typescript - Vue中输入事件的类型是什么
问题描述
Vue 中输入事件的正确 Typescript 类型是什么?当我使用Event
它时缺少目标值或键或文件属性。
让我们举个例子:
<input @input="(e: MISSING_TYPE) => {}" />
<input @keypress="(e: MISSING_TYPE) => {}" />
在 React 中,我们有类似ChangeEvent的东西,它是通用的并应用元素特定的类型。我们如何在 Vue 中做到这一点?
解决方案
感谢评论中的@steve16351 回答,有总结:
对于 keypress 之类的键盘事件,您可以使用来自 Event -> UIEvent -> KeyboardEvent 的更具体的事件:
<input @keypress="handleKeypress" />
handleKeypress(e: KeyboardEvent) { }
对于更具体的事件,例如 HTMLInputElement 上的输入更改,您需要对其进行转换:
<input @input="handleInput" />
handleInput(e: Event) {
const target = (<HTMLInputElement>e.target)
console.log(target.value)
}
推荐阅读
- r - 比较数据框中的两列,如果为假,则捕获另一列的值
- python - 只显示每个
x 轴上的日期(或按月分组)以减少 x 轴混乱 - python - 检测到人脸时截屏
- pymc3 - 如何区分 PyMC3 中的先验和可能性
- r - 绘制图例并获取:strwidth 中的错误(legend,units = “user”,cex = cex,font = text.font):尚未调用 plot.new
- intellij-idea - PyCharm 字体样式错误?
- python - 如何正确获取装饰器的默认关键字参数?
- javascript - getParameter 返回 NULL 并且 getPart 无法识别,请求不包含 multipart/form-data 或 multipart/mixed 流
- amazon-s3 - 如何赋予目标存储桶日志传递组 WRITE 和 READ_ACP 权限?
- amazon-web-services - AWS EC2 c5.2x 是来自大型 CPU 的共享 CPU 吗?