Svelte中使用on:input访问event.data遇TypeScript类型报错如何解决?
Svelte中input事件TypeScript报错的解决办法
在Svelte里给输入元素绑定on:input事件时,直接访问事件对象的data属性会触发TypeScript报错,提示该属性不存在——这是因为Svelte默认给事件参数标注的是通用Event类型,而data是InputEvent特有的属性。
解决方法有两种:
- 直接给事件参数指定
InputEvent类型:
on:input={(elm: InputEvent) => { if (elm.data !== null) { // 执行你的业务逻辑 } }}
- 用类型断言转换事件类型:
on:input={(elm) => { const inputEvent = elm as InputEvent; if (inputEvent.data !== null) { // 执行你的业务逻辑 } }}
两种方式都能让TypeScript正确识别data属性,消除编辑器里的错误提示,同时不影响原有功能运行。
内容的提问来源于stack exchange,提问作者TomWildcat
相关产品推荐
相关产品推荐

