有什么方法可以在 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)
})