我无法弄清楚,如何创建一个有福的可滚动框。
https://github.com/chjj/blessed
根据文档,它应该是这样的:
"use strict";
const blessed = require('blessed');
const screen = blessed.screen({
smartCSR: true
});
let box = blessed.box({
top: 0,
left: 0,
width: '80%',
height: '80%',
style: {
bg: 'red'
},
alwaysScroll:true,
scrollable: true,
scrollbar: true
});
screen.append(box);
screen.render();
for (let i = 0; i < 200; i++) {
box.insertLine(0, 'texting ' + i);
box.screen.render();
}
框窗口显示,它已填满,但没有滚动条。我错过了什么?
答案 0 :(得分:5)
您的代码是正确的,但您需要更多配置才能使其正常工作。我在您的框中添加了keys
和vi
属性,并为滚动条定义了style
。使用以下代码,您应该能够使用箭头键或类似Vi的键映射(j
向下移动,k
向上移动,g
跳转到第一行,G
跳到最后一行。)
"use strict";
const blessed = require('blessed');
const screen = blessed.screen({
smartCSR: true
});
let box = blessed.box({
parent: screen,
top: 0,
left: 0,
width: '80%',
height: '80%',
style: {
bg: 'red'
},
keys: true,
vi: true,
alwaysScroll:true,
scrollable: true,
scrollbar: {
style: {
bg: 'yellow'
}
}
});
screen.render();
for (let i = 0; i < 200; i++) {
box.insertLine(0, 'texting ' + i);
box.screen.render();
}