index.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <template>
  2. <fs-page>
  3. <fs-crud ref="crudRef" v-bind="crudBinding">
  4. <template #header-middle>
  5. <el-tabs v-model="tabActivted" @tab-click="onTabClick">
  6. <el-tab-pane label="我的发布" name="send"></el-tab-pane>
  7. <el-tab-pane label="我的接收" name="receive"></el-tab-pane>
  8. </el-tabs>
  9. </template>
  10. </fs-crud>
  11. </fs-page>
  12. </template>
  13. <script lang="ts" setup name="messageCenter">
  14. import {ref, onMounted} from 'vue';
  15. import {useExpose, useCrud} from '@fast-crud/fast-crud';
  16. import {createCrudOptions} from './crud';
  17. // crud组件的ref
  18. const crudRef = ref();
  19. // crud 配置的ref
  20. const crudBinding = ref();
  21. // 暴露的方法
  22. const {crudExpose} = useExpose({crudRef, crudBinding});
  23. //tab选择
  24. const tabActivted = ref('send')
  25. const onTabClick= (tab:any)=> {
  26. const { paneName } = tab
  27. tabActivted.value = paneName
  28. crudExpose.doRefresh();
  29. }
  30. // 你的crud配置
  31. const {crudOptions} = createCrudOptions({crudExpose,tabActivted});
  32. // 初始化crud配置
  33. const {resetCrudOptions} = useCrud({crudExpose, crudOptions});
  34. // 页面打开后获取列表数据
  35. onMounted(() => {
  36. crudExpose.doRefresh();
  37. });
  38. </script>