祝福:使日志小部件可滚动

Ric*_*ich 6 javascript node.js blessed

我正在使用Blessed库在终端中制作仪表板.

我正在将日志记录到日志窗口小部件中,并希望使窗口小部件可滚动.使用下面的代码,滚动条出现了,但我实际上无法使用鼠标滚轮或拖动滚动条滚动.

var logPanel = blessed.log({
    top: '0',
    left: '0',
    width: '60%',
    height: '100%',
    tags: true,
    border: {
        type: 'line'
    },
    scrollable: true,
    alwaysScroll: true,
      scrollbar: {
        ch: ' ',
        inverse: true
    },
    style: {
        fg: 'green',
        bg: 'black',
        border: {
            fg: '#f0f0f0'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

如何让滚动条工作?

小智 5

根据Blessed 的文档,您可以通过trueoptions对象中设置相应的属性来启用三种滚动方式:

  • mouse - 是否为此元素启用自动鼠标支持 [scrollwheel]
  • - 使用预定义的键来导航文本 [箭头键]
  • vi - 使用带有keys[j/k 键] 选项的vi 键

(如已弃用的ScrollableBox,但也适用于普通框)

我自己从文档中弄清楚这一点时遇到了一些麻烦。我想有时如果有很多文字并不意味着它很好。

如果一旦文本框溢出文本框,它不会自动滚动,您可能会遇到的另一个问题。您需要setScrollPerc(100)在添加新行后立即通过在 Box 对象上调用函数来启用它。