diff --git a/examples/view/base/table-v2.vue b/examples/view/base/table-v2.vue
index cab21b0..a246801 100644
--- a/examples/view/base/table-v2.vue
+++ b/examples/view/base/table-v2.vue
@@ -445,8 +445,8 @@ const headerColumns = [
debug
>
-
- {{ row.status }}
+
+ {{ row?.status }}
@@ -538,7 +538,7 @@ const i18nColumns = [
debug
>
- {{ row.status }}
+ {{ row?.status }}
View
@@ -615,7 +615,7 @@ import {
HeaderCellRenderer,
HeaderCellRendererParams,
} from "element-plus/es/components/table-v2/src/types.mjs";
-import type { ListTableColumn } from "../../../packages/base/data/list-table-v2.vue";
+import { type ListTableColumn } from "../../../packages/base/data/list-table-v2";
// --- Data Generator ---
const generateRows = (count: number) => {
@@ -752,7 +752,7 @@ const formatColumns = [
// ================================================================
// SECTION 5: Custom Cell Renderer
// ================================================================
-const statusRenderer: CellRenderer = ({ cellData }) => {
+const statusRenderer: CellRenderer = ({ cellData }) => {
testResults.cellRenderer = true;
const status = cellData as string;
const type =
@@ -764,7 +764,7 @@ const statusRenderer: CellRenderer = ({ cellData }) => {
);
};
-const actionRenderer: CellRenderer = ({ rowData }) => {
+const actionRenderer: CellRenderer = ({ rowData }) => {
return (
@@ -777,8 +777,8 @@ const actionRenderer: CellRenderer = ({ rowData }) => {
);
};
-const rendererData = allRows.slice(0, 20);
-const rendererColumns: ListTableColumn[] = [
+const rendererData = ref(allRows.slice(0, 20));
+const rendererColumns: ListTableColumn[] = [
{ key: "id", name: "ID" },
{ key: "caseName", name: "Case Name" },
{ key: "status", name: "Status", cellRenderer: statusRenderer },
@@ -786,7 +786,7 @@ const rendererColumns: ListTableColumn[] = [
key: "priority",
name: "Priority",
cellRenderer: ({ cellData }) => {
- const colors: Record = { high: "danger", medium: "warning", low: "info" };
+ const colors = { high: "danger" as const, medium: "warning" as const, low: "info" as const };
return (
{cellData}
@@ -800,13 +800,13 @@ const rendererColumns: ListTableColumn[] = [
const testCellRendererResize = () => {
testResults.cellRendererMini = true;
// Force re-render by toggling data
- rendererData = [...allRows.slice(0, 20)];
+ rendererData.value = allRows.slice(0, 20);
};
// ================================================================
// SECTION 6: Custom Header Renderer
// ================================================================
-const headerRenderer: HeaderCellRenderer = ({ column }) => {
+const headerRenderer: HeaderCellRenderer = ({ column }) => {
testResults.headerRenderer = true;
return (
@@ -816,7 +816,7 @@ const headerRenderer: HeaderCellRenderer = ({ column }) => {
};
const headerData = allRows.slice(0, 20);
-const headerColumns: ListTableColumn[] = [
+const headerColumns: ListTableColumn[] = [
{ key: "id", name: "ID", headerCellRenderer: headerRenderer },
{ key: "caseName", name: "Case Name", headerCellRenderer: headerRenderer },
{ key: "taskName", name: "Task Name", headerCellRenderer: headerRenderer },
@@ -842,7 +842,7 @@ const handleDynamicQuery = () => {
};
const testResize = () => {
- dynamicData.data = [...allRows.slice(0, 10)];
+ dynamicData.data = allRows.slice(0, 10);
testResults.dynamicHeight = true;
};
@@ -954,12 +954,12 @@ const runCombinedTest = () => {
combinedExample.page = 1;
handleCombinedQuery();
setTimeout(() => {
- combinedData.data = [...allRows.slice(0, 10)];
+ combinedData.data = allRows.slice(0, 10);
testResults.combined.renderer = true;
}, 100);
};
const reloadCombinedData = () => {
- combinedData.data = [...allRows.slice(0, 10)];
+ combinedData.data = allRows.slice(0, 10);
};
// ================================================================
@@ -969,19 +969,19 @@ const rendererType = ref<"jsx" | "simple">("jsx");
const edgeExample = reactive({ page: 1, size: 10 });
const edgeData = reactive({ data: allRows.slice(0, 10), total: allRows.length });
-const edgeIdRenderer: CellRenderer = ({ cellData }) => {
+const edgeIdRenderer: CellRenderer = ({ cellData }) => {
return #{cellData};
};
-const edgeNameRenderer: CellRenderer = ({ cellData }) => {
+const edgeNameRenderer: CellRenderer = ({ cellData }) => {
if (rendererType.value === "jsx") {
return {cellData};
}
return {cellData};
};
-const edgePriorityRenderer: CellRenderer = ({ cellData }) => {
- const colors: Record = { high: "danger", medium: "warning", low: "success" };
+const edgePriorityRenderer: CellRenderer = ({ cellData }) => {
+ const colors = { high: "danger" as const, medium: "warning" as const, low: "success" as const };
return (
{cellData}
@@ -989,7 +989,7 @@ const edgePriorityRenderer: CellRenderer = ({ cellData }) => {
);
};
-const edgeActionsRenderer: CellRenderer = () => {
+const edgeActionsRenderer: CellRenderer = () => {
return (
@@ -999,7 +999,7 @@ const edgeActionsRenderer: CellRenderer = () => {
);
};
-const edgeColumns: ListTableColumn[] = [
+const edgeColumns: ListTableColumn[] = [
{ key: "id", name: "ID", fixed: "left" as const, width: 80, cellRenderer: edgeIdRenderer },
{ key: "caseName", name: "Case Name", cellRenderer: edgeNameRenderer },
{ key: "priority", name: "Priority", cellRenderer: edgePriorityRenderer },
@@ -1020,7 +1020,7 @@ const changePageRenderer = () => {
const toggleRendererType = () => {
rendererType.value = rendererType.value === "jsx" ? "simple" : "jsx";
- edgeData.data = [...allRows.slice(0, 10)];
+ edgeData.data = allRows.slice(0, 10);
};
onMounted(() => {
diff --git a/packages/base/data/list-table-v2/list-table-v2.vue b/packages/base/data/list-table-v2/list-table-v2.vue
index 26056a3..544305a 100644
--- a/packages/base/data/list-table-v2/list-table-v2.vue
+++ b/packages/base/data/list-table-v2/list-table-v2.vue
@@ -67,24 +67,25 @@
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="example.size"
layout="total, sizes, prev, pager, next, jumper"
- :total="data.total"
+ :total="paginationTotal"
/>