561890
问题描述
目前我在使用Electron框架开发桌面应用,尝试使用Typescript
在调用ipc模块时,希望对他的参数进行限定(定义),但不知道该如何使用Typescript进行限定
期望效果
将其Listener参数限定为指定的字符串,类似type Str = 'time' | 'date' | 'length' 的效果
尝试过程
尝试以下方式进行重新声明,均无效果
import {ipcMain} from 'electron';
// 接口定义,IpcMain大写开头
interface IpcMain {
on(channel: 'abc' | 'bbc', listener: Function): this;
}
// 接口定义,ipcMain小写开头
interface ipcMain {
on(channel: 'abc' | 'bbc', listener: Function): this;
}
// 模块声明
declare module 'electron' {
interface IpcMain {
on(channel: 'abc' | 'bbc', listener: Function): this;
}
}
// 实际代码,希望控制第一个参数的类型限定为指定字符串
ipcMain.on('message', (event: Electron.Event, arg:any) => {
console.log(arg);
});
感谢各位的阅读与查看🙏