Skip to content

Emits ​

API ​

sort-change ​

Triggered when sorting changes. When defaultSort.dataIndex is not found, col will return null.

ts
(e: 'sort-change', col: StkTableColumn<DT> | null, order: Order, data: DT[], sortConfig: SortConfig<DT>): void;
ParameterDescription
colThe sorted column
orderSort direction
dataThe table's current working data (internal copy after sorting and filtering), not the original props.dataSource. If filters are active, data only contains filtered rows. In sort-remote scenarios, sort your original data source and assign it back, do NOT directly assign data to dataSource
sortConfigSort configuration

row-click ​

Click event for a row.

ts
(e: 'row-click', ev: MouseEvent, row: DT, data: { rowIndex: number }): void;

current-change ​

Triggered when a row is selected. ev returns null if not triggered by a click event.

ts
(e: 'current-change', ev: MouseEvent | null, row: DT | undefined, data: { select: boolean }): void;

cell-selected ​

Triggered when a cell is selected. ev returns null if not triggered by a click event.

ts
(e: 'cell-selected', ev: MouseEvent | null, data: { select: boolean; row: DT | undefined; col: StkTableColumn<DT> | undefined }): void;

row-dblclick ​

Double click event for a row.

ts
(e: 'row-dblclick', ev: MouseEvent, row: DT, data: { rowIndex: number }): void;

header-row-menu ​

Right click event for table header.

ts
(e: 'header-row-menu', ev: MouseEvent): void;

row-menu ​

Right click event for table body row.

ts
(e: 'row-menu', ev: MouseEvent, row: DT, data: { rowIndex: number }): void;

cell-click ​

Click event for a cell.

ts
(e: 'cell-click', ev: MouseEvent, row: DT, col: StkTableColumn<DT>, data: { rowIndex: number }): void;

cell-mouseenter ​

Mouse enter event for a cell.

ts
(e: 'cell-mouseenter', ev: MouseEvent, row: DT, col: StkTableColumn<DT>): void;

cell-mouseleave ​

Mouse leave event for a cell.

ts
(e: 'cell-mouseleave', ev: MouseEvent, row: DT, col: StkTableColumn<DT>): void;

cell-mouseover ​

Mouse over event for a cell.

ts
(e: 'cell-mouseover', ev: MouseEvent, row: DT, col: StkTableColumn<DT>): void;

cell-mousedown ​

Mouse down event for a cell.

ts
(e: 'cell-mousedown', ev: MouseEvent, row: DT, col: StkTableColumn<DT>, data: { rowIndex: number }): void;

header-cell-click ​

Click event for header cell.

ts
(e: 'header-cell-click', ev: MouseEvent, col: StkTableColumn<DT>): void;

scroll ​

Table scroll event.

ts
(e: 'scroll', ev: Event, data: { startIndex: number; endIndex: number }): void;

scroll-x ​

Table horizontal scroll event.

ts
(e: 'scroll-x', ev: Event): void;

col-order-change ​

Header column drag event.

ts
(e: 'col-order-change', dragStartKey: string, targetColKey: string): void;

th-drag-start ​

Header column drag start.

ts
(e: 'th-drag-start', dragStartKey: string): void;

th-drop ​

Header column drag drop.

ts
(e: 'th-drop', targetColKey: string): void;

row-order-change ​

Row drag event.

ts
(e: 'row-order-change', dragStartKey: string, targetRowKey: string): void;

col-resize ​

Triggered when column width changes.

ts
(e: 'col-resize', col: StkTableColumn<DT>): void;

filter-change ​

Triggered when filter status changes. This callback is only triggered when calling the setFilter method to set the filter status.

ts
(e: 'filter-change', status: Record<UniqKey, FilterStatus>): void;

toggle-row-expand ​

Triggered when expanding a row.

ts
(e: 'toggle-row-expand', data: { expanded: boolean; row: DT; col: StkTableColumn<DT> | null }): void;

toggle-tree-expand ​

Triggered when clicking to expand a tree row.

ts
(e: 'toggle-tree-expand', data: { expanded: boolean; row: DT; col: StkTableColumn<DT> | null }): void;

area-selection-change ​

Area selection change event.

ts
(e: 'area-selection-change', ranges: AreaSelectionRange[]): void;

AreaSelectionRange ​

Cell selection range type. Each range describes the cells covered in the table via the index field.

ts
type AreaSelectionRange = {
    index: {
        /** Column index range [startCol, endCol] (both ends inclusive) @deprecated Use begin/end instead */
        x: [number, number];
        /** Row index range [startRow, endRow] (both ends inclusive) @deprecated Use begin/end instead */
        y: [number, number];
        /** Start point index of the selection */
        begin: { row: number; col: number };
        /** End point index of the selection */
        end: { row: number; col: number };
    };
};
FieldTypeDescription
index.x[number, number]Column index range covered by the selection, [startCol, endCol], both ends inclusive. Deprecated, use begin/end instead
index.y[number, number]Row index range covered by the selection, [startRow, endRow], both ends inclusive. Deprecated, use begin/end instead
index.begin{ row: number; col: number }Start point index of the selection
index.end{ row: number; col: number }End point index of the selection

When using Ctrl multi-select or Shift range-select, ranges may contain multiple selection ranges.

update:columns ​

Update width when v-model:columns col is resized.

ts
(e: 'update:columns', cols: StkTableColumn<DT>[]): void;

Released under the MIT License