Deno Fresh Islands中文件输入onChange事件的类型及导入方法
Fresh Islands组件中input onChange事件参数的类型说明
- 你提到的
JSXInternal.TargetedEvent<HTMLInputElement, Event>是正确的类型,不过更标准的做法是直接使用Preact暴露的TargetedEvent类型(Fresh基于Preact实现)。 - 导入方式:从
preact包中导入该类型即可,无需从Fresh本身导入:import type { TargetedEvent } from "preact"; - 完整代码示例:
import type { TargetedEvent } from "preact"; export function Sample() { const onChangeHandler = (e: TargetedEvent<HTMLInputElement, Event>) => { // 示例:获取选中的文件 const selectedFile = e.currentTarget.files?.[0]; if (selectedFile) { console.log("选中的文件:", selectedFile); } }; return ( <input type="file" onChange={onChangeHandler} /> ); } - 类型说明:
TargetedEvent的两个泛型参数分别对应:- 第一个参数:事件绑定的DOM元素类型(这里是
HTMLInputElement,对应file类型的input) - 第二个参数:底层的原生事件类型(这里是
Event,input的change事件基于原生Event)
- 第一个参数:事件绑定的DOM元素类型(这里是
内容的提问来源于stack exchange,提问作者b1u3
相关产品推荐
相关产品推荐

