From dc98974db99a031fee6ac512fa32e3e1d6b01c98 Mon Sep 17 00:00:00 2001
From: JeremyWuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com>
Date: Wed, 27 Apr 2022 15:41:22 +0800
Subject: [PATCH] docs(components): [virtual-table] filtering (#7401)
- Add example for adding filter.
- Export header cell slot renderer interface.
---
docs/en-US/component/table-v2.md | 10 ++
docs/examples/table-v2/filter.vue | 114 ++++++++++++++++++
packages/components/table-v2/index.ts | 2 +
.../table-v2/src/renderers/header-cell.tsx | 3 +-
4 files changed, 128 insertions(+), 1 deletion(-)
create mode 100644 docs/examples/table-v2/filter.vue
diff --git a/docs/en-US/component/table-v2.md b/docs/en-US/component/table-v2.md
index c60bd1420f..61f5c56221 100644
--- a/docs/en-US/component/table-v2.md
+++ b/docs/en-US/component/table-v2.md
@@ -88,3 +88,13 @@ It is recommended that you write your table component in JSX, since it contains
table-v2/grouping-header
:::
+
+## Filter
+
+Virtualized Table providers customizing header renderers for rendering customized header, then we can use that to render filters
+
+:::demo
+
+table-v2/filter
+
+:::
diff --git a/docs/examples/table-v2/filter.vue b/docs/examples/table-v2/filter.vue
new file mode 100644
index 0000000000..e9b5e69e69
--- /dev/null
+++ b/docs/examples/table-v2/filter.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
diff --git a/packages/components/table-v2/index.ts b/packages/components/table-v2/index.ts
index 5070379a2d..c0c61a6e1d 100644
--- a/packages/components/table-v2/index.ts
+++ b/packages/components/table-v2/index.ts
@@ -9,3 +9,5 @@ export type {
TableV2CustomizedHeaderSlotParam,
} from './src/types'
export * from './src/table'
+
+export type { HeaderCellSlotProps } from './src/renderers/header-cell'
diff --git a/packages/components/table-v2/src/renderers/header-cell.tsx b/packages/components/table-v2/src/renderers/header-cell.tsx
index 1c931592a4..6f11599b62 100644
--- a/packages/components/table-v2/src/renderers/header-cell.tsx
+++ b/packages/components/table-v2/src/renderers/header-cell.tsx
@@ -11,7 +11,7 @@ import type { UseTableReturn } from '../use-table'
import type { TableV2Props } from '../table'
import type { TableV2HeaderCell } from '../header-cell'
-type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams &
+export type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams &
UnwrapNestedRefs> &
Pick & {
ns: UseNamespaceReturn
@@ -94,3 +94,4 @@ const HeaderCellRenderer: FunctionalComponent = (
}
export default HeaderCellRenderer
+export type HeaderCellSlotProps = HeaderCellRendererProps & { class: string }