[Electron] ファイルオープンダイアログとファイル読み込みに保存ボタンを追加して、ファイル保存ダイアログの表示とファイル保存処理を追加した。
まるっと、新しいソースもアップしておく。
保存ボタンを押した時の処理をあげておく。
// ファイル保存ダイアログを表示する
dialog.showSaveDialog(remote.getCurrentWindow(), {
filters:[
{ name: "Text File", extensions:["txt"]},
{ name: "All Files", extensions: ["*"]}
]}, filename=>{
if(filename) {
// ファイルに保存
fs.writeFile(filename, this.state.text, err=>{
if(err) {
alert(err);
}
});
}
});
dialog.showSaveDialogでファイル保存ダイアログを表示する。
第1引数は、親ウインドウでremote.getCurrentWindow()でレンダラープロセスで表示しているページのウインドウが取得できる。
第2引数は、ダイアログのオプションを指定する。
よく使いそうなのをピックアップして書いとく。詳細はドキュメントを見よ!
- filters:表示するや選択できるファイルの種類を配列で指定する。
filters:[
{ name: "Text File", extensions:["txt"]},
{ name: "All Files", extensions: ["*"]}
],
第3引数は、コールバック関数。
入力したファイル名(フルパス)が渡される関数を指定する。
上に載せたソースでは、Node.jsのfs.writeFileを使ってTextAreaの内容を保存している。