如何使用blessed / nodejs创建一个可滚动的框

Tan*_*mik 3 javascript terminal user-interface node.js blessed

我不知道如何创建一个带有祝福的滚动框。

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();
}
Run Code Online (Sandbox Code Playgroud)

框窗口显示,它被填充,但没有滚动条。我想念什么?

Bad*_*bra 5

您的代码是正确的,但是您需要更多配置才能使其正常工作。我添加keysvi属性你的盒子,并定义了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();
}
Run Code Online (Sandbox Code Playgroud)