V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GhostBoy
V2EX  ›  Vue.js

vue typescript event 的数据类型怎么表示?

  •  
  •   GhostBoy · 2021-12-24 19:00:52 +08:00 · 1731 次点击
    这是一个创建于 1065 天前的主题,其中的信息可能已经有所发展或是发生改变。
    
    
    function readFile(event): void {
        const file = event.target.files[0];
        console.log(file.name);
    };
    
    
    

    在 vscode 里 function readFile(event): void { 中的 event 总是有红色波浪线! 想请教一下如何解决?

    3 条回复    2021-12-28 09:42:04 +08:00
    wunonglin
        1
    wunonglin  
       2021-12-24 19:16:47 +08:00
    ```js
    function readFile(event: Event): void{
    const input = event.target as HTMLInputElement
    const file = input.files.item(0) || undefined
    if (file){
    巴拉巴拉
    }
    }
    ```

    或者

    ```js
    function readFile(event: Event): void{
    const input = event.target as any
    if (input instanceof HTMLInputElement){
    const file = input.files.item(0) || undefined
    if (file){
    巴拉巴拉
    }
    }
    }
    ```


    大概是这样。手写的没用编辑器,有错请指正。。。
    thinkershare
        2
    thinkershare  
       2021-12-24 22:22:21 +08:00
    你这??? 可以不用管它, 也可以自己标记出实际的 Event 类型, 关于 Event 类型的详情可以去 MDN 查找, 或者干脆偷懒直接使用 event:any, TypeScript 为 JS 添加了 Class Type, 所有很多时候需要附加的 Type(或者说是 Interface).
    Zzzz77
        3
    Zzzz77  
       2021-12-28 09:42:04 +08:00
    把鼠标放在变量或者相关的方法上有提示的,比如你写一个 document.addEventListener('mousemove', this.mousemoveListener) 把鼠标放 addEventListener 上就能看到相关各种参数的类型。

    其实常用就那么几种,鼠标相关的、键盘相关的、文件相关的。。等等
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2672 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:44 · PVG 18:44 · LAX 02:44 · JFK 05:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.