Прокрутите благословенную коробку с дочерними элементами
У меня есть благословенная коробка, которая установлена с 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 ответ
Я решил это, используя список вместо коробки, полной коробок. Список прокручивается и может иметь выбираемые элементы.