Как динамически изменить содержимое div в Electron? - PullRequest
0 голосов
/ 18 февраля 2019

Я играю с Electron впервые и не могу обновить содержимое div после нажатия на кнопку.Нажатие кнопки связывается с серверной частью и возвращает результат, который я хочу показать в указанном элементе div (который в начале пуст).

Я попытался проверить объект win, чтобы увидеть, существуют ли такие методы, какdocument.getElementById('...') но я не могу их найти.

Кто-нибудь знает, как динамически обновлять содержимое элемента HTML в приложении Electron?

1 Ответ

0 голосов
/ 18 февраля 2019

Домом можно манипулировать только из потока renderer.Вам нужно отправить запрос в поток рендерера из main, чтобы сделать то, что вы просите.

Вы также можете создать абстрактный приемник запросов HTML, например:

var actions = {
  hide: function(elem) {
    elem.style.display = "none";
  },
  show: function(elem) {
    elem.style.display = null;
  }
};

function customQuery(query, action) {
  for (var element of document.querySelectorAll(query)) {
    if (typeof element[action] === "function") element[action]();
    else actions[action](element);
  }
}

ipcRenderer.on("customQuery", function (event, ...args) {
  customQuery(...args);
});

К которым можно обратиться, выполнив win.webContents.send("customQuery", "#myElement", "hide");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...