typescript怎么往MouseEvent类型里面增加一个属性

如图,怎么往MouseEvent类型里面增加一个属性?我想在函数里面给ev增加一个b属性,值为'10',这样写报错了,应该怎么写呢
image.png

阅读 2.8k
2 个回答

利用 TS 会合并同名类型的特性:

interface MouseEvent {
    b?: string;
}

document.addEventListener('click', function(ev) {
    ev.b = '10';
    console.log(ev.b);
});
interface CustomData {
    title: string;
    value: number;
}

interface MouseEvent {
    more?: CustomData
}

document.addEventListener("click", (e: MouseEvent) => {
    if (e.more) {
        const { title, value } = e.more;
        console.log(`title = ${title}, value = ${value}`);
    }
});

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏