4

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

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();
}

框窗口显示,它被填满,但没有滚动条。我错过了什么?

4

1 回答 1

6

您的代码是正确的,但您需要进行更多配置才能使其正常工作。我在您的框中添加了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();
}
于 2017-04-13T16:53:49.287 回答