伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

Electron中常用对话框-打开文件对话框、保存文件对话框、提示对话框

来源:本站原创 浏览:96次 时间:2022-06-11

用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106413828

Electron怎样进行渲染进程调试和使用浏览器和VSCode进行调试:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106414541

在上面搭建好项目以及知道怎样进行调试后,那么Electron有哪些常用的对话框。


打开文件对话框


首先在index.html中增加一个Button按钮,并添加id


<button id="openDialog">打开</button>

然后在js中,通过id获取按钮并设置其点击事件



var btnOpenDialog=document.getElementById('openDialog');btnOpenDialog.onclick = OpenDialog;

这个对话框是从Electron的主线程上打开的。如果要使用渲染器进程中的对话框对象, 可以使用remote来获得


const {dialog} = require('electron').remote;

然后在上面的OpenDialog方法中


function OpenDialog(){    dialog.showOpenDialog({        title: "请选择您喜欢的文件",        buttonLabel: "走你",        filters: [            { name: 'Custom File Type', extensions: ['js', 'html', 'json'] },          ]    }).then(result => {        console.log(result.canceled)        console.log(result.filePaths)      }).catch(err => {        console.log(err)      })}

效果


选择一个文件后查看控制台


showOpenDialog常用设置


属性:

title String (可选)
defaultPath String (可选)
buttonLabel String (可选) - 「确认」按钮的自定义标签, 当为空时, 将使用默认标签。
filters FileFilter[] (可选)

properties String[] (可选) -包含对话框应用的功能。支持以下值:
    openFile - 允许选择文件
    openDirectory - 允许选择文件夹
    multiSelections-允许多选。
    showHiddenFiles-显示对话框中的隐藏文件。

返回值:

canceled:Boolean 对话框是否取消

filePaths:文件路径

过滤文件选项:

指定一个文件类型数组,用于规定用户可见或可选的特定类型范围


{  filters: [    { name: 'Images', extensions: ['jpg', 'png', 'gif'] },    { name: 'Movies', extensions: ['mkv', 'avi', 'mp4'] },    { name: 'Custom File Type', extensions: ['as'] },    { name: 'All Files', extensions: ['*'] }  ]}

 

保存文件对话框


首先在index.html中增加一个Button按钮,并添加id


<button id="saveDialog">保存</button>

然后在js中,通过id获取按钮并设置其点击事件



var btnSaveDialog=document.getElementById('saveDialog');btnSaveDialog.onclick = SaveDialog;

这个对话框是从Electron的主线程上打开的。如果要使用渲染器进程中的对话框对象, 可以使用remote来获得


const {dialog} = require('electron').remote;

为了将内容存储到文件中,还要引入fs


const fs = require('fs');

然后在上面的SaveDialog 方法中







{  filters: [    { name: 'Images', extensions: ['jpg', 'png', 'gif'] },    { name: 'Movies', extensions: ['mkv', 'avi', 'mp4'] },    { name: 'Custom File Type', extensions: ['as'] },    { name: 'All Files', extensions: ['*'] }  ]}

提示对话框


首先在index.html中增加一个Button按钮,并添加id


<button id="showMessageDialog">弹出消息提示</button>

然后在js中,通过id获取按钮并设置其点击事件



var btnShowMessageDialog=document.getElementById('showMessageDialog');btnShowMessageDialog.onclick = ShowMessageDialog;

这个对话框是从Electron的主线程上打开的。如果要使用渲染器进程中的对话框对象, 可以使用remote来获得


const {dialog} = require('electron').remote;

然后在上面的ShowMessageDialog方法中


function ShowMessageDialog(){     dialog.showMessageBox({        type: 'warning',        title: "您确定么?",        message: "您真的想要删除这条数据么?",        buttons: ["OK", "Cancel"]    }).then(result => {        console.log("您的选择:" , result.response);        console.log(result)      }).catch(err => {        console.log(err)      })}

效果



点击确定和取消后查看输出


ShowMessageDialog常用设置

属性:

type

字符串(可选) -可以是"none","info","error","question"或"warning"。在Windows上,"question"显示与图标相同的图标"info",除非您使用该"icon"选项设置图标。在MacOS,既"warning"和"error"显示相同的警告图标。


buttons

字符串 - 按钮文本数组。在Windows上,一个空数组将导致一个标签为“OK”的按钮。


defaultId

整数(可选) - 按钮阵列中按钮的索引,当消息框打开时将默认选择该按钮。


title

字符串(可选) - 消息框的标题,某些平台不会显示它。


message

 字符串 - 消息框的内容。


detail

字符串(可选) - 消息的额外信息。


checkboxLabel

字符串(可选) - 如果提供,消息框将包含一个带给定标签的复选框。复选框状态只能在使用时检查callback。


checkboxChecked

布尔(可选) - 复选框的初始选中状态。false默认。


icon

NativeImage(可选)


cancelId

整数(可选) - 通过键用于取消对话框的按钮索引Esc。默认情况下,将其分配给第一个按钮,其中“取消”或“否”作为标签。如果没有这样的标签按钮,并且没有设置此选项,0则将用作返回值或回调响应。Windows上忽略此选项。


返回值:

response Number  - 被点击的按钮的索引
checkboxChecked布尔值 - checkboxLabel已设置复选框的选中状态。否则false。


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net