【发布时间】:2019-02-20 13:29:19
【问题描述】:
我正在尝试将消息从模式发送回浏览器窗口,以便使用从模式返回的数据对其进行更新。
模态框有一个表格,当您单击一行时,行 ID 通过 ipcRenderer 消息发送,但该消息似乎没有到达那里,因为控制台中没有记录任何内容。
我做错了什么?
浏览器窗口(渲染器)
const { remote } = require('electron');
const ipcRenderer = require("electron").ipcRenderer;
function openModal() {
let win = new remote.BrowserWindow({
parent: remote.getCurrentWindow(),
modal: true
})
win.webContents.openDevTools();
var theUrl = 'file://' + __dirname + '/modal.html'
win.loadURL(theUrl);
}
// Open the modal on button click
document.getElementById("button-search-open")
.addEventListener("click", () => {
openModal();
})
// Log the data received from the modal message
ipcRenderer.on('set-row-active-id', (e, args) => {
console.log(e, args); // Nothing is logged!
})
模态(渲染器)
var ipcRenderer = require("electron").ipcRenderer;
// Add event listeners to all table rows
document.querySelectorAll('table tr')
.forEach(el => el.addEventListener("click", (e) => { rowClickHandler(e) }));
// Send the row id back to the broserwindow on row click
function rowClickHandler(e) {
let rowId = e.target.parentElement.dataset.id
ipcRenderer.send('set-row-active-id', rowId);
}
【问题讨论】:
-
或许this可以帮到你
标签: javascript node.js electron