如何在Node.js应用Universal GUI中实现未存在文件/文件夹的保存路径选择功能
Universal GUI 保存路径输入项实现方案
- 替换UGUI原生的文件/文件夹选择组件,自己开发一个组合控件:包含一个文本输入框用来展示最终路径,加一个触发按钮用来唤起路径选择弹窗,无需依赖UGUI自带的存在性校验逻辑。
- 直接调用NW.js内置的文件对话框API实现不存在路径的选择,核心代码参考:
选择保存文件路径(允许目标文件不存在):
选择保存文件夹路径(允许目标文件夹不存在):const { dialog } = require('@nwjs/dialog'); dialog.showSaveDialog({ title: '选择保存文件路径', defaultPath: require('path').join(nw.App.dataPath, 'untitled'), filters: [ { name: '自定义格式', extensions: ['ext'] }, { name: '所有文件', extensions: ['*'] } ] }, (savePath) => { if (savePath) { document.getElementById('save-path-input').value = savePath; } });dialog.showOpenDialog({ title: '选择保存文件夹路径', properties: ['openDirectory', 'createDirectory', 'promptToCreate'] }, (selectRes) => { if (selectRes?.[0]) { document.getElementById('save-folder-input').value = selectRes[0]; } }); - 把自定义控件接入UGUI的表单提交流程,提交时直接读取输入框中的路径字符串传给CLI程序即可,你可以按需在前端加路径格式合法性校验,也可以把存在性校验逻辑放到CLI侧处理。
- 当前基于NW.js的运行方案无需调整,也不需要额外配置Node.js启动器,Web技术栈开发的UGUI应用和NW.js的原生API完全兼容。
内容的提问来源于stack exchange,提问作者Jadian Radiator
相关产品推荐
相关产品推荐

