reopt design
DocsExploreTemplatesCanvasToolsPricing
Login
opt-uiopt-chartsopt-datagridopt-editoropt-calendaropt-filemanageropt-chatopt-shellbrandapp-ui
Overview205Core74Shells99Blocks32
QueryResultsTable
reopt designreopt design

A design system for the AI era

  • Docs
  • Pricing
  • Releases
  • About
  • Contact
  • Terms of Service
  • Privacy Policy

reopt Inc.Business registration no. 217-88-02453contact@reopt.ai

© 2026 reopt Inc. All rights reserved.

QueryResultsTable

Shell

Explore windowed query results with typed headers, local sorting, resizable columns, row details, and explicit null, boolean, and object values.

data
Related docs
bun add @reopt-ai/opt-ui
Install and import
bash
bun add @reopt-ai/opt-ui
tsx
import { QueryResultsTable } from "@reopt-ai/opt-ui";

Live preview

Change the width and theme, then interact with the components.

100%
#
usr_000page_view2026-02-05 10:00:00NULLtrue{"path":"/home"}
usr_001click2026-02-05 10:01:07NULLfalse{"path":"/pricing"}
usr_002purchase2026-02-05 10:02:1474false{"path":"/cart"}
usr_003signup2026-02-05 10:03:21NULLfalse{"path":"/home"}
usr_004page_view2026-02-05 10:04:28NULLfalse{"path":"/pricing"}
usr_005click2026-02-05 10:05:35NULLtrue{"path":"/cart"}
usr_006purchase2026-02-05 10:06:42222false{"path":"/home"}
usr_007signup2026-02-05 10:07:49NULLfalse{"path":"/pricing"}
usr_008page_view2026-02-05 10:08:56NULLfalse{"path":"/cart"}
usr_009click2026-02-05 10:09:03NULLfalse{"path":"/home"}
usr_010purchase2026-02-05 10:10:10370true{"path":"/pricing"}
usr_011signup2026-02-05 10:11:17NULLfalse{"path":"/cart"}
usr_012page_view2026-02-05 10:12:24NULLfalse{"path":"/home"}
usr_013click2026-02-05 10:13:31NULLfalse{"path":"/pricing"}
usr_014purchase2026-02-05 10:14:3818false{"path":"/cart"}
usr_015signup2026-02-05 10:15:45NULLtrue{"path":"/home"}
usr_016page_view2026-02-05 10:16:52NULLfalse{"path":"/pricing"}
usr_017click2026-02-05 10:17:59NULLfalse{"path":"/cart"}
usr_018purchase2026-02-05 10:18:06166false{"path":"/home"}
usr_019signup2026-02-05 10:19:13NULLfalse{"path":"/pricing"}
usr_020page_view2026-02-05 10:20:20NULLtrue{"path":"/cart"}
usr_021click2026-02-05 10:21:27NULLfalse{"path":"/home"}
usr_022purchase2026-02-05 10:22:34314false{"path":"/pricing"}
usr_023signup2026-02-05 10:23:41NULLfalse{"path":"/cart"}
usr_024page_view2026-02-05 10:24:48NULLfalse{"path":"/home"}
usr_025click2026-02-05 10:25:55NULLtrue{"path":"/pricing"}
usr_026purchase2026-02-05 10:26:02462false{"path":"/cart"}
usr_027signup2026-02-05 10:27:09NULLfalse{"path":"/home"}
usr_028page_view2026-02-05 10:28:16NULLfalse{"path":"/pricing"}
usr_029click2026-02-05 10:29:23NULLfalse{"path":"/cart"}
usr_030purchase2026-02-05 10:30:30110true{"path":"/home"}
usr_031signup2026-02-05 10:31:37NULLfalse{"path":"/pricing"}
usr_032page_view2026-02-05 10:32:44NULLfalse{"path":"/cart"}
usr_033click2026-02-05 10:33:51NULLfalse{"path":"/home"}
usr_034purchase2026-02-05 10:34:58258false{"path":"/pricing"}
usr_035signup2026-02-05 10:35:05NULLtrue{"path":"/cart"}
usr_036page_view2026-02-05 10:36:12NULLfalse{"path":"/home"}
usr_037click2026-02-05 10:37:19NULLfalse{"path":"/pricing"}
usr_038purchase2026-02-05 10:38:26406false{"path":"/cart"}
usr_039signup2026-02-05 10:39:33NULLfalse{"path":"/home"}
usr_000page_view2026-02-05 10:40:40NULLtrue{"path":"/pricing"}
usr_001click2026-02-05 10:41:47NULLfalse{"path":"/cart"}
usr_002purchase2026-02-05 10:42:5454false{"path":"/home"}
usr_003signup2026-02-05 10:43:01NULLfalse{"path":"/pricing"}
usr_004page_view2026-02-05 10:44:08NULLfalse{"path":"/cart"}
usr_005click2026-02-05 10:45:15NULLtrue{"path":"/home"}
usr_006purchase2026-02-05 10:46:22202false{"path":"/pricing"}
usr_007signup2026-02-05 10:47:29NULLfalse{"path":"/cart"}
usr_008page_view2026-02-05 10:48:36NULLfalse{"path":"/home"}
usr_009click2026-02-05 10:49:43NULLfalse{"path":"/pricing"}
usr_010purchase2026-02-05 10:50:50350true{"path":"/cart"}
usr_011signup2026-02-05 10:51:57NULLfalse{"path":"/home"}
usr_012page_view2026-02-05 10:52:04NULLfalse{"path":"/pricing"}
usr_013click2026-02-05 10:53:11NULLfalse{"path":"/cart"}
usr_014purchase2026-02-05 10:54:18498false{"path":"/home"}
usr_015signup2026-02-05 10:55:25NULLtrue{"path":"/pricing"}
2,000 row(s)96 ms

쿼리를 실행하고 있습니다...

warehouse connection timed out

조건에 맞는 결과가 없습니다

QueryResultsTable

PropTypeDefaultDescription
columnsRequiredArray<string | QueryResultColumn>—컬럼 이름, 또는 타입을 포함한 컬럼 정의
rowsRequiredArray<Record<string, unknown>>—결과 행
maxHeightnumber | "fill"400스크롤 높이(px). fill이면 부모 높이를 채움
loadingboolean—polite 로딩 상태
errorstring—assertive 오류 상태
sortablebooleantrue헤더 클릭 정렬
sortQueryResultSort | null—제어형 정렬 상태
onSortChange(sort: QueryResultSort | null) => void—정렬 변경
rowHeightnumber32행 높이(px). 윈도잉의 기준
rowDetailsbooleantrue행을 상세 패널로 열기
footerReactNode—행 수 뒤에 붙는 푸터 내용 — 경과 시간, 읽은 바이트
labelsQueryResultsTableLabels—로딩/빈 상태/행 수/정렬/상세 문구

컴포넌트 의존 관계

깊이
▲ USED BY (1)▼ USES (3)sql-workspaceQueryResultsTablefield-tokenflyoutdescription-list
View test results

테스트 커버리지

2026년 7월 9일4/4 통과
4성공
0실패
4전체
  • 테이블을 렌더링한다
  • 에러 상태를 렌더링한다
  • 로딩 상태를 렌더링한다
  • 빈 상태를 렌더링한다

Blocks that use this component

opt-ui

SqlWorkspace

Blocks

Compose a SQL editing screen from SqlEditor and QueryResultsTable.

Related components

opt-ui

DomainTable

Shells

Manage domain rows in a Composite grid with keyboard navigation.

opt-ui

DataTable

Shells

Display generic tabular data with dynamic columns, safe sorting, keyboard resizing, an accessible grid label, and an optional title.

opt-ui

WidgetGrid

Shells

Arrange draggable and resizable dashboard widgets with react-grid-layout.

opt-ui

Flyout

Shells

Inspect a record beside its list in a nonmodal panel with Escape dismissal and focus restoration.

opt-ui

TreeTable

Shells

Explore hierarchical rows with recursive rendering and expand and collapse controls.

opt-ui

InlineEditTable

Shells

Edit cells with a double click, confirm with Enter, and cancel with Escape.

PreviousPropertyExplorerNextAlertBuilder