滚动条一般位于容器边缘,用来控制滚动区域的可见区域。

image.pngimage.pngimage.png

使用

  1. import { Scrollbar } from '@antv/GUI';

API

  1. // 创建对象
  2. scrollbar = new Scrollbar({attrs});
  3. // 获取滚动条值
  4. scrollbar.getValue(): number;
  5. // 设置滚动条值
  6. scrollbar.setValue(number): void;

配置 ScrollbarCfg

SlideableBaseCfg
TrackCfg
ThumbCfg

SlideableBaseCfg

  • width: number
  • height: number
  • padding: number | number[]
  • background: ShapeAttrs
  • orient: "horizontal" | "vertical" "horizontal"
  • values: [ number, number ] 值 [ 0, 0.5 ]
  • min: number 最小值 0
  • max: number 最大值 1
  • step: number 0.01

    TrackCfg

  • trackStyle: ShapeAttrs {}

    ThumbCfg

  • isRound: boolean 滑块是否为圆角

  • thumbLen: number 滑块长度
  • thumbStyle: ShapeAttrs {}

    1. export type ScrollbarOptions = ShapeCfg & {
    2. attrs: {
    3. /**
    4. * 滑条朝向
    5. */
    6. orient?: 'horizontal' | 'vertical';
    7. /**
    8. * 轨道宽度
    9. */
    10. width: number;
    11. /**
    12. * 轨道高度
    13. */
    14. height: number;
    15. /**
    16. * 滚动条的值
    17. */
    18. value: number;
    19. /**
    20. * 可滚动范围的值的上限
    21. */
    22. minimum?: number;
    23. /**
    24. * 可滚动范围的值的下限
    25. */
    26. maximum?: number;
    27. /**
    28. * 滑块是否圆角
    29. */
    30. isRound?: boolean;
    31. /**
    32. * 滑块长度
    33. */
    34. thumbLen: number;
    35. /**
    36. * 滑轨样式
    37. */
    38. trackStyle?: {
    39. default: ShapeAttrs;
    40. active: ShapeAttrs;
    41. };
    42. /**
    43. * 滑块样式
    44. */
    45. thumbStyle?: {
    46. default: ShapeAttrs;
    47. active: ShapeAttrs;
    48. };
    49. };
    50. };

    交互

  • 拖拽

鼠标或者手指拖拽滑块,滑块将跟随

  • 点击

鼠标或者手指点击滑轨,以移动滑块至指定位置

  • 滚动

鼠标或者触控板滚动,滑块同步滑动

事件

  • scroll: 当鼠标或键盘操作移动了滚动条时触发
  • valueChanged: 在通过scroll事件或通过API更改value属性时发生