diff --git a/apps/web-antd/src/hooks/index.ts b/apps/web-antd/src/hooks/index.ts new file mode 100644 index 00000000..75f01b53 --- /dev/null +++ b/apps/web-antd/src/hooks/index.ts @@ -0,0 +1 @@ +export * from './use-table-toolbar'; diff --git a/apps/web-antd/src/hooks/use-table-toolbar.ts b/apps/web-antd/src/hooks/use-table-toolbar.ts new file mode 100644 index 00000000..c8fd01a2 --- /dev/null +++ b/apps/web-antd/src/hooks/use-table-toolbar.ts @@ -0,0 +1,36 @@ +import type { VxeTableInstance } from '#/adapter/vxe-table'; +import type { TableToolbar } from '#/components/table-toolbar'; + +import { ref, watch } from 'vue'; + +export function useTableToolbar() { + const hiddenSearchBar = ref(false); // 隐藏搜索栏 + const tableToolbarRef = ref>(); + const tableRef = ref(); + const isBound = ref(false); + + /** 挂载 toolbar 工具栏 */ + async function bindTableToolbar() { + const table = tableRef.value; + const tableToolbar = tableToolbarRef.value; + if (table && tableToolbar) { + await table.connect(tableToolbar.getToolbarRef()!); + isBound.value = true; + } + } + + watch( + () => tableRef.value, + (val) => { + if (!val || isBound.value) return; + bindTableToolbar(); + }, + { immediate: true }, + ); + + return { + hiddenSearchBar, + tableToolbarRef, + tableRef, + }; +} diff --git a/apps/web-antd/src/views/infra/demo/general/demo01/index.vue b/apps/web-antd/src/views/infra/demo/general/demo01/index.vue index 9a856fee..b9249f0e 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo01/index.vue @@ -1,8 +1,7 @@ diff --git a/apps/web-antd/src/views/infra/demo/general/demo02/index.vue b/apps/web-antd/src/views/infra/demo/general/demo02/index.vue index 787ead28..cbd25210 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo02/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo02/index.vue @@ -1,9 +1,7 @@ diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue index eac71e3e..237f5d41 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue @@ -1,9 +1,7 @@ diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue index d73eb780..346032d3 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue @@ -1,6 +1,4 @@ diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue index 30c4e425..921d896d 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue @@ -1,6 +1,4 @@ diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue index c04af694..71f005b8 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue @@ -1,9 +1,7 @@ diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/inner/modules/demo03-course-form.vue b/apps/web-antd/src/views/infra/demo/general/demo03/inner/modules/demo03-course-form.vue index 26c1e890..3736a841 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/inner/modules/demo03-course-form.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/inner/modules/demo03-course-form.vue @@ -1,6 +1,5 @@ diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/normal/modules/demo03-course-form.vue b/apps/web-antd/src/views/infra/demo/general/demo03/normal/modules/demo03-course-form.vue index 26c1e890..3736a841 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/normal/modules/demo03-course-form.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/normal/modules/demo03-course-form.vue @@ -1,6 +1,5 @@