ScrollBar

一个独立的滚动条组件,支持可选的箭头按钮、键盘导航和可拖动的滑块。

基本用法

Renderable API

import { ScrollBarRenderable, createCliRenderer } from "@opentui/core"

const renderer = await createCliRenderer()

const scrollbar = new ScrollBarRenderable(renderer, {
  id: "scrollbar",
  orientation: "vertical",
  height: 10,
  showArrows: true,
  trackOptions: {
    backgroundColor: "#222222",
    foregroundColor: "#888888",
  },
  onChange: (position) => {
    console.log("Scroll position:", position)
  },
})

// 将滚动条连接到你的内容
scrollbar.scrollSize = 200
scrollbar.viewportSize = 20
scrollbar.scrollPosition = 0

renderer.root.add(scrollbar)
scrollbar.focus()

键盘控制

获得焦点时,滚动条响应以下按键:

  • Up/Downk/j 用于垂直滚动条
  • Left/Righth/l 用于水平滚动条
  • PageUp/PageDown 用于较大跨度的跳转
  • Home/End 跳转到起始/结束位置

Construct API

暂未提供。目前请使用 ScrollBarRenderable

属性

属性类型默认值描述
orientation"vertical""horizontal"-滚动条方向
showArrowsbooleanfalse显示箭头按钮
arrowOptionsArrowOptions-箭头按钮的样式
trackOptionsPartial<SliderOptions>-轨道和滑块的样式
scrollSizenumber0可滚动的总尺寸
viewportSizenumber0视口的可见尺寸
scrollPositionnumber0当前滚动位置
scrollStepnumber-scrollBy(..., "step") 时的步进大小
onChange(position: number) => void-滚动位置变化时触发的回调