Electron学习笔记(十四)—— 常用api____dialog

摘要:
如果要在渲染器进程中使用对话框对象,可以使用remote获取:const{dialog}=require。remoteconsole.log练习:打开并保存文件let{dialog}=require。remote//打开文件文档。按Id获取元素。onclick=function(){dialog.showOpenDialog.then.catch}//保存文件文档。按Id获取元素。onclick=function(){dialog.showSaveDialog.then.catch}练习:信息提示文档。按Id获取元素。onclick=function(){dialog.showMessageBox({type:“warning”,title:“Are you sure?”,message:“Do you really to delete this data?”?

https://www.electronjs.org/docs/api/dialog

对话框
显示用于打开和保存文件、警报等的本机系统对话框。

在Electron的主线程上打开

const { dialog } = require('electron')
console.log(dialog.showOpenDialog({ properties: ['openFile', 'multiSelections'] }))
这个对话框是从Electron的主线程上打开的。如果要使用渲染器进程中的对话框对象, 可以使用remote来获得:

const { dialog } = require('electron').remote
console.log(dialog)
练习:打开和保存文件

let {dialog} = require('electron').remote

//打开文件
document.getElementById('openFile').onclick = function(){
dialog.showOpenDialog({
title:'请选择文件',
buttonLabel:'确定',
filters:[{
name:'code',extensions:['js','html']
}]
}).then(result => {
console.log(result)

}).catch(err => {
console.log(err)
})
}

//保存文件
document.getElementById('saveFile').onclick = function(){
dialog.showSaveDialog({
title:'请选择要保存的文件名',
buttonLabel:'保存',
filters:[{
name:'code',extensions:['js','html']
}]
}).then(result => {
console.log(result)
fs.writeFileSync(result.filePath,'保存文件测试')
}).catch(err => {
console.log(err)
})
}
练习:信息提示

document.getElementById('showMessage').onclick = function(){
dialog.showMessageBox({
type:'warning',
title:'您确定吗?',
message:'您真的想要删除这条数据吗?',
buttons:['cancel','ok']
}).then((result)=>{
console.log(result)
})
}


免责声明:文章转载自《Electron学习笔记(十四)—— 常用api____dialog》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Swift静态方法Ucenter后台登陆 验证码CCCC的解决方法 无法登录解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux dialog详解(图形化shell)

  liunx 下的dialog 工具是一个可以和shell脚本配合使用的文本界面下的创建对话框的工具。每个对话框提供的输出有两种形式:   1.  将所有输出到stderr 输出,不显示到屏幕。   2.  使用退出状态码,“OK”为0,“NO”为1,"ESC"为255   通用选项 common options:(这个选项来设置dialog box的背...

Dialog的visible"陷阱"

  今天在调试代码时发现控制台经常输出一个error日志,出于好奇,于是探个究竟。若在你的Vue文件中有如下类似的示例代码: <template> <div> <p>Welcome to home</p>     <el-button @click="testButton">...

Mysql+Keepalived双主热备高可用操作记录

我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换。使用Keepalived,可以通过...

Bootstrap实现弹出框和提示框效果代码

一、Bootstrap弹出框使用过JQuery UI应该知道,它里面有一个dialog的弹出框组件,功能也很丰富。与jQuery UI的dialog类似,Bootstrap里面也内置了弹出框组件。打开bootstrap 文档可以看到它的dialog是直接嵌入到bootstrap.js和bootstrap.css里面的,也就是说,只要我们引入了bootstr...

解决Electron7.0.0的坑,cnpm install electron 安装失败的问题

解决方案: 修改项目目录下的 node_moduleselectroninstall.js downloadArtifact({ version, artifactName: 'electron', force: process.env.force_no_cache === 'true', cacheRoot: process.env....

应急溯源SSH日志查看小技巧

正常登陆 Linux 以下几个位置记录相关日志: SSH登录操作相关的日志有以下几个位置: /var/log/btmp,记录错误的登录尝试,查询命令:lastb /var/log/auth.log,记录认证成功的用户 /var/log/secure,记录与安全相关的日志信息 /var/log/lastlog,记录用户上次登录信息 /var/log/w...