!!!###!!!title=ListTable-columns-progressbar——VisActor/VTable 配置文档!!!###!!!!!!###!!!description=VisActor/VTable 配置文档。本章内容主要介绍 VTable 配置项及其用法以便快速生成所需表格。!!!###!!!

ListTable-columns-progressbar.cellType = 'progressbar'

指定该列或该行单元格类型为'progressbar',cellType 缺省的话会被默认为'text'

ListTable-columns-progressbar.headerType = 'text'

指定表头类型,可选:'text'|'link'|'image'|'video'|'checkbox',默认 'text'

ListTable-columns-progressbar.field

string

必填 指定表头字段,对应数据源属性

ListTable-columns-progressbar.fieldFormat

FieldFormat

配置数据格式化

type FieldFormat = (record: any) => any;

ListTable-columns-progressbar.width

number
string

列宽指定,可为具体数值,或者'auto',再或者百分比如'20%'。 如果指定'auto',则会根据整列文本长度自动调整列宽; 如果指定百分比,则会根据表格总宽度调整当前列宽;

ListTable-columns-progressbar.maxWidth

number
string

限制该列最大列宽

ListTable-columns-progressbar.minWidth

number
string

限制该列最小列宽

ListTable-columns-progressbar.title

string

表头名称

ListTable-columns-progressbar.headerStyle

IStyleOption
Function

表头单元格样式,配置项根据 headerType 不同有略微差别。每种 headerStyle 的配置项可参考:

ListTable-columns-progressbar.style

*

body 单元格样式,类型声明:

style?: IStyleOption | ((styleArg: StylePropertyFunctionArg) => IStyleOption);

回调函数参数StylePropertyFunctionArg的类型声明为:

interface StylePropertyFunctionArg {
  row: number;
  col: number;
  /** 表格实例 */
  table: TableAPI;
  /**有format的话 格式化后或者计算后的值 */
  value: string;
  /**原始值 */
  dataValue: string;
  /** progressbar类型特有,表示当前数值在总体数据范围的比例 */
  percentile?: number;
  /** 单元格的表头路径信息 */
  cellHeaderPaths: ICellHeaderPaths;
}

IStyleOption 类型结构如下:

点击展开全部内容

ListTable-columns-progressbar.headerIcon

string
Object
Array

表头单元格图标配置。可配置类型有:

string | ColumnIconOption | (string | ColumnIconOption)[];

ColumnIconOption 具体配置可参考定义

ListTable-columns-progressbar.icon

string
Object
Array
Funciton

body 单元格图标配置。

icon?:
    | string
    | ColumnIconOption
    | (string | ColumnIconOption)[]
    | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);
点击展开全部内容

ListTable-columns-progressbar.sort

boolean
Function

是否支持排序,也可以定义函数来指定排序规则

ListTable-columns-progressbar.showSort

boolean

是否显示 sort 排序 icon,无真正的排序逻辑。如果设置了 sort 字段 则可以省略这个

ListTable-columns-progressbar.disableHover

bolean

该列不支持 hover 交互行为

ListTable-columns-progressbar.disableSelect

boolean

该列不支持选中

ListTable-columns-progressbar.disableHeaderHover

bolean

该列表头不支持 hover 交互行为

ListTable-columns-progressbar.disableHeaderSelect

boolean

该列表头不支持选中

ListTable-columns-progressbar.description

string

表头 hover 时的描述信息 会以 tooltip 形式展示出来

ListTable-columns-progressbar.dropDownMenu

Array

下拉菜单项配置。下拉菜单项可以是一级菜单项或者二级菜单项,只要有一个配置即可。具体类型为 MenuListItem[]。

MenuListItem定义如下:

type MenuListItem =
  | string
  | {
      text?: string;
      type?: 'title' | 'item' | 'split';
      menuKey?: string;
      icon?: Icon;
      selectedIcon?: Icon;
      stateIcon?: Icon;
      children?: MenuListItem[];
    };

ListTable-columns-progressbar.headerCustomRender

Function
Object

表头单元格自定义渲染,函数形式或者对象形式。类型为:ICustomRenderFuc | ICustomRenderObj

示例链接 教程链接

其中 ICustomRenderFuc 定义为:

 type ICustomRenderFuc = (args: CustomRenderFunctionArg) => ICustomRenderObj;

回调函数参数CustomRenderFunctionArg的类型声明为:

interface CustomRenderFunctionArg {
  row: number;
  col: number;
  table: TableAPI;
  /**format之后的值 */
  value: string|number;
  /**原始值 */
  dataValue: string|number;
  rect?: RectProps;
}

ICustomRenderObj 的定义如下:

export type ICustomRenderObj = {
  /** 配置出来的类型集合 */
  elements: ICustomRenderElements;
  /** 期望单元格的高度 */
  expectedHeight: number;
  /** 期望单元格的宽度 */
  expectedWidth: number;
  /**
   * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制
   */
  renderDefault?: boolean;
};

详细配置说明如下:

点击展开全部内容

ListTable-columns-progressbar.headerCustomLayout

Function

表头单元格自定义布局元素定义,该自定义形式适合内容复杂布局的单元格。

(args: CustomRenderFunctionArg) => ICustomLayoutObj;

回调函数参数CustomRenderFunctionArg的类型声明为:

interface CustomRenderFunctionArg {
  row: number;
  col: number;
  table: TableAPI;
  /**format之后的值 */
  value: string|number;
  /**原始值 */
  dataValue: string|number;
  rect?: RectProps;
}

ICustomLayoutObj 类型定义如下

export type ICustomLayoutObj = {
  rootContainer: Container | any;
  /**
   * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制
   */
  renderDefault?: boolean;
  /**
   * 是否还启用style中的padding
   */
  enableCellPadding?: boolean;
};

详细配置说明如下:

点击展开全部内容

ListTable-columns-progressbar.customRender

Function
Object

body 单元格表头单元格自定义渲染,函数形式或者对象形式。类型为:ICustomRenderFuc | ICustomRenderObj

示例链接 教程链接

其中 ICustomRenderFuc 定义为:

 type ICustomRenderFuc = (args: CustomRenderFunctionArg) => ICustomRenderObj;

回调函数参数CustomRenderFunctionArg的类型声明为:

interface CustomRenderFunctionArg {
  row: number;
  col: number;
  table: TableAPI;
  /**format之后的值 */
  value: string|number;
  /**原始值 */
  dataValue: string|number;
  rect?: RectProps;
}

ICustomRenderObj 的定义如下:

export type ICustomRenderObj = {
  /** 配置出来的类型集合 */
  elements: ICustomRenderElements;
  /** 期望单元格的高度 */
  expectedHeight: number;
  /** 期望单元格的宽度 */
  expectedWidth: number;
  /**
   * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制
   */
  renderDefault?: boolean;
};

详细配置说明如下:

点击展开全部内容

ListTable-columns-progressbar.customLayout

Function

body 单元格自定义布局元素定义,该自定义形式适合内容复杂布局的单元格。

定义为如下函数:

(args: CustomRenderFunctionArg) => ICustomLayoutObj;

回调函数参数CustomRenderFunctionArg的类型声明为:

interface CustomRenderFunctionArg {
  row: number;
  col: number;
  table: TableAPI;
  /**format之后的值 */
  value: string|number;
  /**原始值 */
  dataValue: string|number;
  rect?: RectProps;
}

ICustomLayoutObj 类型定义如下

export type ICustomLayoutObj = {
  rootContainer: Container | any;
  /**
   * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制
   */
  renderDefault?: boolean;
  /**
   * 是否还启用style中的padding
   */
  enableCellPadding?: boolean;
};

详细配置说明如下:

点击展开全部内容

ListTable-columns-progressbar.dragHeader

boolean

是否可以拖拽表头

ListTable-columns-progressbar.columnWidthComputeMode

string

列宽计算模式:'normal' | 'only-header' | 'only-body',only-header 只考虑表头的内容 only-body 只考虑 body 的内容 normal 能被显示出来的所有内容

ListTable-columns-progressbar.disableColumnResize

boolean

是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效

ListTable-columns-progressbar.tree

boolean

该列是否展示为树形结构,需要结合 records 数据结构才能实现,需要展开的节点配置children来容纳子节点数据。如:

{
    "department": "Human Resources Department",
    "monthly_expense": "$45000",
    "children": [
      {
        "group": "Recruiting Group",
        "monthly_expense": "$25000",
        "children": [
          {
            "name": "John Smith",
            "position": "Recruiting Manager",
            "salary": "$8000"
          },
      }
    ]
}

ListTable-columns-progressbar.editor

string
Object
Function

配置该列单元格编辑器

editor?: string | IEditor | ((args: BaseCellInfo & { table: BaseTableAPI }) => string | IEditor);

其中 IEditor 是@visactor/vtable-editors 中定义的编辑器接口,具体可以参看源码:https://github.com/VisActor/VTable/blob/main/packages/vtable-editors/src/types.ts。

ListTable-columns-progressbar.headerEditor

string
Object
Function

配置该列表头显示标题 title

headerEditor?: string | IEditor | ((args: BaseCellInfo & { table: BaseTableAPI }) => string | IEditor);

ListTable-columns-progressbar.columns

Array

同上层的列配置数组,嵌套结构来描述列分组关系。

ListTable-columns-progressbar.hideColumnsSubHeader

是否隐藏子表头的 header 标题,默认不隐藏。

ListTable-columns-progressbar.aggregation(Aggregation | CustomAggregation | Array)

*

非必填。

数据聚合配置,对该列数据进行汇总分析。

全局 option 也可以配置,对每一列都配置聚合规则。

可参考教程文档

ListTable-columns-progressbar.min

number
Function

progressbar 类型专属配置项

进度条展示范围的最最小数据,支持通过函数动态获取

ListTable-columns-progressbar.max = 100

number
Function

progressbar 类型专属配置项

进度条展示范围的最最小数据,支持通过函数动态获取

ListTable-columns-progressbar.barType = 'default'

progressbar 类型专属配置项

进度条类型 默认 default。

  • default:由 min 到 max 的进度条

  • negative:考虑 min 为负值,进度条会以 0 为分割,显示正负两个方向的进度条

  • negative_no_axis:展示与 negative 相同,没有 0 值坐标轴

ListTable-columns-progressbar.dependField

string

progressbar 类型专属配置项

进度图依赖的数据,如果需要单元格展示的文字和进度图使用的数据字段不同,在 dependField 里配置进度图使用的数据字段