Skip to content

Emits

In the Svelte version, events are provided as callback props (all lowercase, no hyphens). The names in parentheses are the corresponding event names in the Vue version.

API

onsortchange (sort-change)

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

ts
onsortchange?: (col: StkTableColumn<DT> | null, order: Order, data: DT[], sortConfig: SortConfig<DT>) => void;

onrowclick (row-click)

Click event for a row.

ts
onrowclick?: (ev: MouseEvent, row: DT, data: { rowIndex: number }) => void;

oncurrentchange (current-change)

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

ts
oncurrentchange?: (ev: MouseEvent | null, row: DT | undefined, data: { select: boolean }) => void;

oncellselected (cell-selected)

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

ts
oncellselected?: (ev: MouseEvent | null, data: { select: boolean; row: DT | undefined; col: StkTableColumn<DT> | undefined }) => void;

onrowdblclick (row-dblclick)

Double click event for a row.

ts
onrowdblclick?: (ev: MouseEvent, row: DT, data: { rowIndex: number }) => void;

onheaderrowmenu (header-row-menu)

Right click event for table header.

ts
onheaderrowmenu?: (ev: MouseEvent) => void;

onrowmenu (row-menu)

Right click event for table body row.

ts
onrowmenu?: (ev: MouseEvent, row: DT, data: { rowIndex: number }) => void;

oncellclick (cell-click)

Click event for a cell.

ts
oncellclick?: (ev: MouseEvent, row: DT, col: StkTableColumn<DT>, data: { rowIndex: number }) => void;

oncellmouseenter (cell-mouseenter)

Mouse enter event for a cell.

ts
oncellmouseenter?: (ev: MouseEvent, row: DT, col: StkTableColumn<DT>) => void;

oncellmouseleave (cell-mouseleave)

Mouse leave event for a cell.

ts
oncellmouseleave?: (ev: MouseEvent, row: DT, col: StkTableColumn<DT>) => void;

oncellmouseover (cell-mouseover)

Mouse over event for a cell.

ts
oncellmouseover?: (ev: MouseEvent, row: DT, col: StkTableColumn<DT>) => void;

oncellmousedown (cell-mousedown)

Mouse down event for a cell.

ts
oncellmousedown?: (ev: MouseEvent, row: DT, col: StkTableColumn<DT>, data: { rowIndex: number }) => void;

onheadercellclick (header-cell-click)

Click event for header cell.

ts
onheadercellclick?: (ev: MouseEvent, col: StkTableColumn<DT>) => void;

ontablescroll (scroll)

Table scroll event.

ts
ontablescroll?: (ev: Event, data: { startIndex: number; endIndex: number }) => void;

onscrollx (scroll-x)

Table horizontal scroll event.

ts
onscrollx?: (ev: Event) => void;

oncolorderchange (col-order-change)

Header column drag event.

ts
oncolorderchange?: (dragStartKey: string, targetColKey: string) => void;

onthdragstart (th-drag-start)

Header column drag start.

ts
onthdragstart?: (dragStartKey: string) => void;

onthdrop (th-drop)

Header column drag drop.

ts
onthdrop?: (targetColKey: string) => void;

onroworderchange (row-order-change)

Row drag event.

ts
onroworderchange?: (dragStartKey: string, targetRowKey: string) => void;

oncolresize (col-resize)

Triggered when column width changes.

ts
oncolresize?: (col: StkTableColumn<DT>) => void;

onfilterchange (filter-change)

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

ts
onfilterchange?: (status: Record<UniqKey, FilterStatus>) => void;

ontogglerowexpand (toggle-row-expand)

Triggered when expanding a row.

ts
ontogglerowexpand?: (data: { expanded: boolean; row: DT; col: StkTableColumn<DT> | null }) => void;

ontoggletreeexpand (toggle-tree-expand)

Triggered when clicking to expand a tree row.

ts
ontoggletreeexpand?: (data: { expanded: boolean; row: DT; col: StkTableColumn<DT> | null }) => void;

onareaselectionchange (area-selection-change)

Area selection change event.

ts
onareaselectionchange?: (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.

onupdatecolumns (update:columns)

Update width when col is resized. Use together with the columns prop, updating the external columns data in the callback.

ts
onupdatecolumns?: (cols: StkTableColumn<DT>[]) => void;

Released under the MIT License