Прокрутите благословенную коробку с дочерними элементами

У меня есть благословенная коробка, которая установлена ​​с scrollable: true

let outerBox = blessed.box({
  top: '0%',
  left: '0%',
  width: '0%+6',
  height: '100%',
  scrollable: true,
  tags: true,
  padding: 1,
  mouse: true,
  style: {
    fg: 'white',
    bg: 'black'
  }
});

Внутри него есть много элементов, которые я хочу, чтобы на них нажимали.

[array of many elements].forEach((elem, i) => {
  let innerBox = blessed.box({
    content: elem,
    "height": "0%+1",
    "top": "0%+"+i,
    style: {
      hover: {
        bg: "black",
        fg: "white"
      }
    }
  });
  innerBox.on("click", (data) => {
    console.log("clicked",guild)
  });
  outerBox.append(server);
});

Однако, если для элементов установлено свойство style или прослушивается обработчик события click, прокрутка по ним больше не прокручивает внешнее поле. Я должен прокручивать на самом краю окна, чтобы оно действительно прокручивалось.

Это работает, но я не могу обнаружить клики:

[array of many elements].forEach((elem, i) => {
  let innerBox = blessed.box({
    content: elem,
    "height": "0%+1",
    "top": "0%+"+i
  });
  outerBox.append(server);
});

Как я могу прокрутить внешнее поле с помощью колесика мыши, при этом все еще будучи в состоянии обнаружить щелчки на внутренних элементах?

1 ответ

Я решил это, используя список вместо коробки, полной коробок. Список прокручивается и может иметь выбираемые элементы.

Другие вопросы по тегам