Vue中输入事件的类型是什么
What are types for input events in Vue
Vue 中输入事件的正确 Typescript 类型是什么?当我使用 Event
时,它缺少目标值或键或文件属性。
让我们举个例子:
<input @input="(e: MISSING_TYPE) => {}" />
<input @keypress="(e: MISSING_TYPE) => {}" />
在 React 中,我们有类似 ChangeEvent 的东西,它是通用的并应用元素特定类型。我们如何在 Vue 中做到这一点?
感谢@steve16351在评论中的回答,有总结:
对于像按键这样的键盘事件,您可以使用 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)
}
Vue 中输入事件的正确 Typescript 类型是什么?当我使用 Event
时,它缺少目标值或键或文件属性。
让我们举个例子:
<input @input="(e: MISSING_TYPE) => {}" />
<input @keypress="(e: MISSING_TYPE) => {}" />
在 React 中,我们有类似 ChangeEvent 的东西,它是通用的并应用元素特定类型。我们如何在 Vue 中做到这一点?
感谢@steve16351在评论中的回答,有总结:
对于像按键这样的键盘事件,您可以使用 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)
}