当前位置: 首页 > wzjs >正文

wordpress电影下载站主题苏州互联网公司工资

wordpress电影下载站主题,苏州互联网公司工资,建设银行网站怎么交学费,站点创建table表格流体高度 1、前提 了解自定义指令、hooks 2、核心思路 通过自定义指令(new ResizeObserver)监听表格变化,然后通过hooks去更新表格高度。 3、核心代码 src/directives/resize.ts // import { debounce } from /utils;import { t…

table表格流体高度

1、前提

了解自定义指令、hooks

2、核心思路

通过自定义指令(new ResizeObserver)监听表格变化,然后通过hooks去更新表格高度。

3、核心代码

src/directives/resize.ts

// import { debounce } from '@/utils';import { type Directive } from "vue";const resizeDirective: Directive = {mounted(el, binding) {// update 要高效,否则会导致 ResizeObserver loop completed with undelivered notifications.// 这里通过 setTimeout 延迟实际更新到下个 ticklet update = (entry: ResizeObserverEntry) => {setTimeout(() => {binding.value(entry);}, 0);};if (binding.arg) {try {let delay = Number.parseInt(binding.arg);console.log(delay);// update = debounce(binding.value, delay);} catch (error) {console.log(error);}}// 创建 ResizeObserver 实例const resizeObserver = (el.__resizeObserver__ = new ResizeObserver((entries) => {// 当目标元素的大小发生变化时,执行回调函数update(entries[0]);}));// 开始监听目标元素的大小变化resizeObserver.observe(el);},unmounted(el) {el.__resizeObserver__.disconnect();},
};export default resizeDirective;

src/hooks/useTableConfig.ts

import { type TableInstance } from "element-plus";/** 获取表格的基本配置 */
export const useTableConfig = <T>(padding: number = 20) => {const tableLoading = ref<boolean>(false);const pageData = ref<T[]>([]);const total = ref<number>(0);const tableRef = ref<TableInstance | null>(null);const selectedTableIds = ref<string[]>([]);/**表格高度 */const tableFluidHeight = ref<number>(0);const tableResize = (rect: DOMRectReadOnly) => {tableFluidHeight.value = rect.height - padding * 2;};return {tableLoading,pageData,total,tableRef,selectedTableIds,tableFluidHeight,tableResize,};
};

这里padding:20的原因是

 src/components/BaseTableSearchContainer/index.vue

<template><div class="flex flex-col h-full"><slot name="search" /><div ref="centerRef" v-resize="onResize" class="flex-1 overflow-auto"><div :class="centerClass" class="p-20px bg-light-50"><slot name="table" /></div></div><div style="background: white"><slot name="pagination" /></div></div>
</template><script setup lang="ts">
import { useTemplateRef } from "vue";
defineProps({ centerClass: { type: String, default: "" } });
const emit = defineEmits(["sizeChanged"]);const centerRef = useTemplateRef<HTMLElement>("centerRef");
const onResize = (e: ResizeObserverEntry) => {// console.log("resize", e, centerRef.value, centerRef.value?.getBoundingClientRect().height);emit("sizeChanged", e.contentRect);
};
</script><style lang="scss" scoped></style>

使用:

<template><div class="app-container"><BaseTableSearchContainer @size-changed="tableResize"><template #search><TBSearchContainer :is-show-toggle="true"><template #left> </template><template #right> </template></TBSearchContainer></template><template #table><el-tableref="tableRef"v-loading="tableLoading":data="pageData"highlight-current-rowrow-key="Id"border:height="tableFluidHeight"style="text-align: center; flex: 1"@select="handleTableSelect"@select-all="handleTableSelect"></el-table></template><template #pagination><Paginationv-if="total > 0"v-model:total="total"v-model:page="queryParams.pageIndex"v-model:limit="queryParams.pageSize"@pagination="handleGetTableList"/></template></BaseTableSearchContainer></div>
</template><script setup lang="ts">
const {tableLoading,pageData,total,tableRef,tableFluidHeight,tableResize,
} = useTableConfig<MoItemPackItem>();
</script><style scoped lang="scss"></style>

http://www.dtcms.com/wzjs/599214.html

相关文章:

  • 扶贫工作网站建设方案深圳企业网站制作公司查询
  • 企业网站维护兼职阿里企业邮箱免费申请入口
  • 郑州网站托管公司哪家好离婚协议书正规模板
  • 网站建设规划方案包括推广赚佣金的软件排名
  • 网站核心推广思路从哪里可以建公司网站
  • 装饰网站建设软件下载网站 刷流量 SEO
  • dede网站如何换源码网站建设规划方案包括
  • 如何自己创办一个网站iis wordpress 500
  • 企业网站建设选择兴田德润园林景观设计公司点评的网站和论坛
  • 庆阳定制网站长椿街网站建设
  • 首页%3e新闻%3e正文 网站怎么做璧山职教中心示范校建设网站
  • 创新的品牌网站建设我的免费网
  • 域名不作网站用途如何申请一个网站域名
  • 微信网站的建立高校网络架构
  • 网络推广网站的方法网站建站图片
  • 网站开发属于什么科目网站开发 职业环境分析
  • 网站文字配色asp 网站开发
  • 国际网站怎么开通深圳住房和建设局网站公开招标
  • 北京 外贸型网站建设做ppt哪个网站好
  • 我的电脑做网站服务器吗厦门网页设计培训
  • 做机械比较好的外贸网站网站版面在线设计
  • 黄冈网站官方登录平台什么做网站赚钱
  • 昆明网站优化公司辣妹子影院电视剧免费播放
  • 文化网站建设需要的功能网站建设费用预算表格
  • 网站设计简单网页青浦网站制作公司
  • 临沂网站制作价格小网站建设
  • 网站建设服务器技术有哪些水果网页制作模板
  • 备案价公示网站wordpress的密码忘记
  • 扁平化设计风格网站wordpress图片替换不掉
  • 给公司做网站 优帮云seo公司哪家便宜