有什么方法可以在 macOS 上显示仅 "Select folder" 的对话框吗?
Is there any way to show a "Select folder" only dialog on macos?
我需要提供一种功能,可以使用 electron 将一堆文档批量导出到 blazor 应用程序中的文件夹中。我使用以下代码显示“另存为”对话框:
private async Task<string> _ShowSaveDialog(string title, string extensionName, string extension)
{
var mainWindow = Electron.WindowManager.BrowserWindows.First();
var options = new SaveDialogOptions
{
Title = title,
Filters = new FileFilter[]
{
new FileFilter { Name = extensionName,
Extensions = new string[] {extension },
}
}
};
var filePath = await Electron.Dialog.ShowSaveDialogAsync(mainWindow, options);
return filePath;
}
这在 macOS 上显示如下:
这不符合我的目的,因为我不想给出文件名,因为我会在批量导出文档时生成它们。
在阅读了所有电子文档后,我还没有找到任何方法来实现这一点。这可能吗?在 macOS 上没有这种对话框是不是很奇怪?
如果我理解你的问题,你可能想使用:
dialog.showOpenDialog([browserWindow, ]options) 和 'openDirectory' 作为选项属性之一。这意味着只能选择目录。
dialog.showOpenDialog(mainWindow, {
properties: ['openDirectory']
}).then(result => {
console.log(result.canceled)
console.log(result.filePaths)
}).catch(err => {
console.log(err)
})
我需要提供一种功能,可以使用 electron 将一堆文档批量导出到 blazor 应用程序中的文件夹中。我使用以下代码显示“另存为”对话框:
private async Task<string> _ShowSaveDialog(string title, string extensionName, string extension)
{
var mainWindow = Electron.WindowManager.BrowserWindows.First();
var options = new SaveDialogOptions
{
Title = title,
Filters = new FileFilter[]
{
new FileFilter { Name = extensionName,
Extensions = new string[] {extension },
}
}
};
var filePath = await Electron.Dialog.ShowSaveDialogAsync(mainWindow, options);
return filePath;
}
这在 macOS 上显示如下:
这不符合我的目的,因为我不想给出文件名,因为我会在批量导出文档时生成它们。
在阅读了所有电子文档后,我还没有找到任何方法来实现这一点。这可能吗?在 macOS 上没有这种对话框是不是很奇怪?
如果我理解你的问题,你可能想使用: dialog.showOpenDialog([browserWindow, ]options) 和 'openDirectory' 作为选项属性之一。这意味着只能选择目录。
dialog.showOpenDialog(mainWindow, {
properties: ['openDirectory']
}).then(result => {
console.log(result.canceled)
console.log(result.filePaths)
}).catch(err => {
console.log(err)
})