1、引入相关模块
imports = {};
imports.fs = require('fs'); // nodejs文件系统模块
imports.remote = require('electron').remote;
window.imports = imports;
2、主要代码
onSaveButtonClick(): void {
const dialog = this.imports.remote.dialog;
const window = this.imports.remote.getCurrentWindow();
let options = {
title: "保存文件",
defaultPath : "C:\\自定义文件名.txt",
filters :[
{ name: 'Images', extensions: ['jpg', 'png', 'gif'] },
{ name: 'Movies', extensions: ['mkv', 'avi', 'mp4'] },
{ name: 'Custom File Type', extensions: ['as'] },
{ name: 'All Files', extensions: ['*'] }
]
};
dialog.showSaveDialog(window, options).then(result => {
var stream = this.imports.fs.createWriteStream(result.filePath);
if (this.windRainButtonType)
this.createWindAndRainFile(stream);
if (this.snowButtonType)
this.createSnowFile(stream);
}).catch(error => {
console.log(error);
});
}
3、showSaveDialog方法参数二options属性
title:
对话框窗口的标题。
defaultPath :
对话框的默认展示路径。
filters :
对话框过滤文件。
详细介绍请参考:https://www.electronjs.org/docs/api/dialog
4、打开的对话框