@sheetwrite/vuevariable
Advanced framework component for workbook data or datasource input.
- Package
@sheetwrite/vue- Source
packages/vue/src/index.ts#L362
Declaration
const SheetwriteGrid: SheetwriteComponentConstructortype SheetwriteComponentConstructor<
Props,
Emits,
Expose = object,
> = new () => Expose &
ComponentPublicInstance & {
$props: AllowedComponentProps &
Props &
VNodeProps & {
[
EventName in keyof Emits &
string as `on${Capitalize<EventName>}`
]?: (payload: Emits[EventName]) => void;
};
};type SheetwriteComponentConstructor<
Props,
Emits,
Expose = object,
> = new () => Expose &
ComponentPublicInstance & {
$props: AllowedComponentProps &
Props &
VNodeProps & {
[
EventName in keyof Emits &
string as `on${Capitalize<EventName>}`
]?: (payload: Emits[EventName]) => void;
};
};type SheetwriteComponentConstructor<
Props,
Emits,
Expose = object,
> = new () => Expose &
ComponentPublicInstance & {
$props: AllowedComponentProps &
Props &
VNodeProps & {
[
EventName in keyof Emits &
string as `on${Capitalize<EventName>}`
]?: (
payload: Emits[EventName],
) => void;
};
};Vue constructor type for Sheetwrite components: Sheetwrite-owned props, emitted events exposed as on* listener props, and the exposed instance surface reachable through a template ref.API reference →< SheetwriteGridPropsinterface SheetwriteGridProps extends Omit<
HTMLAttributes<HTMLDivElement>,
keyof GridAdapterEventHandlers | "children"
> {
className?: string;
style?: CSSProperties;
fallback?: ReactNode;
height?: number | string;
fill?: true;
workbook: Workbook;
data?: ColumnarData;
datasource?: DataSource;
datasourceStorage?: DataSourceStorageOptions;
renderer?: "canvas" | "worker";
workerUrl?: string | URL;
// … 21 more lines — see the API reference
}interface SheetwriteGridProps extends Omit<
HTMLAttributes<HTMLDivElement>,
keyof GridAdapterEventHandlers | "children"
> {
className?: string;
style?: CSSProperties;
fallback?: ReactNode;
height?: number | string;
fill?: true;
workbook: Workbook;
data?: ColumnarData;
datasource?: DataSource;
datasourceStorage?: DataSourceStorageOptions;
renderer?: "canvas" | "worker";
workerUrl?: string | URL;
// … 21 more lines — see the API reference
}interface SheetwriteGridProps extends Omit<
HTMLAttributes<HTMLDivElement>,
| keyof GridAdapterEventHandlers
| "children"
> {
className?: string;
style?: CSSProperties;
fallback?: ReactNode;
height?: number | string;
fill?: true;
workbook: Workbook;
data?: ColumnarData;
datasource?: DataSource;
datasourceStorage?: DataSourceStorageOptions;
renderer?: "canvas" | "worker";
workerUrl?: string | URL;
theme?: Partial<Theme>;
readOnly?: boolean;
protectionResolver?: ProtectionResolver;
// … 43 more lines — see the API reference
}Advanced framework adapter props for workbook data or datasource ownership.API reference →, SheetwriteGridEmitsinterface SheetwriteGridEmits {
"grid-change": ChangeEvent;
"selection-change": Selection | null;
"viewport-change": GridEvents["scroll"];
"edit-begin": GridEvents["edit-begin"];
"edit-commit": GridEvents["edit-commit"];
search: GridEvents["search"];
"active-sheet-change": GridEvents["active-sheet"];
ready: GridReadyEvent;
"initialization-error": unknown;
}interface SheetwriteGridEmits {
"grid-change": ChangeEvent;
"selection-change": Selection | null;
"viewport-change": GridEvents["scroll"];
"edit-begin": GridEvents["edit-begin"];
"edit-commit": GridEvents["edit-commit"];
search: GridEvents["search"];
"active-sheet-change": GridEvents["active-sheet"];
ready: GridReadyEvent;
"initialization-error": unknown;
}interface SheetwriteGridEmits {
"grid-change": ChangeEvent;
"selection-change": Selection | null;
"viewport-change": GridEvents["scroll"];
"edit-begin": GridEvents["edit-begin"];
"edit-commit": GridEvents["edit-commit"];
search: GridEvents["search"];
"active-sheet-change": GridEvents["active-sheet"];
ready: GridReadyEvent;
"initialization-error": unknown;
}Event payloads emitted by the Vue components, keyed by template event name.API reference →, SheetwriteGridExposeinterface SheetwriteGridExpose {
grid: Grid | null;
}interface SheetwriteGridExpose {
grid: Grid | null;
}interface SheetwriteGridExpose {
grid: Grid | null;
}Imperative Grid handle exposed by the Vue advanced component.API reference →>