Electron 6.0でファイル選択ダイアログが動作しなくなったときの対処法
Electronのバージョンを6.0に上げたところ、ファイル選択ダイアログの処理が動作しなくなってしまいました。
どうやらdialog.showOpenDialogがPromiseが返されるように仕様が変更されたようです。
(参考;公式ドキュメント)
今までどおり、選択したファイルパスを返す処理をしたい場合はdialog.showOpenDialogSyncを使用します。
他にもdialog.showSaveDialogとdialog.showSaveDialogSyncなど、ダイアログを表示する処理は基本的にはPromiseを返すようですので注意が必要です。
ファイルやフォルダの選択ダイアログは以下のようになります。
const filepath = dialog.showOpenDialogSync(null, options);
// Promise
const filepath = await dialog.showOpenDialog(null, options);