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

h5兼容table ,如何实现h5在app内使用h5渲染table表格而且实现横屏预览?

压图地址

在这里插入图片描述

横屏div 通过css 实现

transform: rotate(90deg);
transformOrigin: '50vw 50vw' ;
height: 100vw;
width: '100vh';
<divclass="popup-box":style="{transform: originSet === 0 ? 'rotate(90deg)' : '',transformOrigin: originSet === 0 ? '50vw 50vw' : '',height: originSet === 0 ? '100vw' : '100vh',width: originSet === 0 ? '100vh' : '100vw',}">
</div>

表格通过 ant-design-vue的 <a-table></a-table> 实现

<a-table:columns="propList":data-source="list":scroll="{ x: 10000, y: tableY }"@change="handlePageChange":pagination="{current: current,total: totals,defaultPageSize: pagesize,pageSize: pagesize,}"><template #headerCell="{ column }"><span class="title1">{{ column.title }}</span></template></a-table>

完整源码:

<template><divclass="popup-box":style="{transform: originSet === 0 ? 'rotate(90deg)' : '',transformOrigin: originSet === 0 ? '50vw 50vw' : '',height: originSet === 0 ? '100vw' : '100vh',width: originSet === 0 ? '100vh' : '100vw',}"><div class="bottom-fiexd" ref="fixedDiv"></div>  <div><a-table:columns="propList":data-source="list":scroll="{ x: 12500, y: tableY }"@change="handlePageChange":pagination="{current: current,total: totals,defaultPageSize: pagesize,pageSize: pagesize,}"><template #headerCell="{ column }"><span class="title1">{{ column.title }}</span></template></a-table></div></div>
</template>
<script setup lang="js">
import { Table } from 'ant-design-vue'
import { onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import dataSouce from './t.js'
import columen from './head.js'// 控制横屏竖屏
const originSet = ref(0)
const route = useRoute();
const router = useRouter();
const fixTop = ref();
const fixedDiv = ref();const propList = ref([]);
const list = ref([]);const totals = ref('100');const filterActive = ref('');
// const filterList = ref([]);
// 审批任务ID
const taskId = ref('');const a = () => {if (columen.data && columen.data.length) {propList.value = columen.data.map((item, index) => {item = {title: item.a,width: 100,dataIndex: id,key: item.key,fixed: index === 0 ? 'left' : undefined,};return item;});}};// 统计数据
const totalInfo = ref({});
const currentPage = ref(1);
const pagesize = ref(3);
const searchVal = ref('');const b= () => {if (dataSouce.data.list && dataSouce.data.list.length) {list.value = dataSouce.data.list;}
};// 页码变化
const PageChange = ({ current, defaultPageSize, pageSize, total}) => {currentPage.value = current;pagesize.value = pageSize;b();
};const tableY = ref(190);onMounted(() => {taskId.value = route.query.id;filterActive.value = route.query.filterActive;a();b();const fixTopsH = fixTop.value.offsetHeight;const fixedDivH = fixedDiv.value.offsetTop;tableY.value = fixedDivH - fixTopsH - 100;
});
</script>[压图地址](https://yatu.di6gan.cn/#/single)
http://www.lryc.cn/news/391256.html

相关文章:

  • 在windows上安装objection
  • 人脸特征68点识别 C++
  • 部署LVS-DR 群集
  • nginx的正向代理和反向代理
  • 米国政府呼吁抛弃 C 和 C++
  • failed to lazily initialize a collection of role,解决Hibernate查询报错
  • Promethuse-监控 Etcd
  • linux桌面运维---第四天
  • 视频网关的作用
  • css+js实现导航栏色块跟随滑动+点击后增加样式
  • AudioLM音频生成模型:技术革新与应用前景
  • 数据结构教材关于C/C++的研究
  • 【刷题笔记(编程题)05】另类加法、走方格的方案数、井字棋、密码强度等级
  • 如何检查购买的Facebook账号优劣?
  • 2.2.1 ROS2案例以及案例分析
  • 使用 Python 访问 Windows 剪贴板
  • 手机空号过滤的多种应用场景
  • [Vue学习]生命周期及其各阶段举例
  • YOLOv5改进 | 损失函数 | EIoU、SIoU、WIoU、DIoU、FocuSIoU等多种损失函数
  • [leetcode]minimum-absolute-difference-in-bst 二叉搜索树的最小绝对差
  • [ALSA]从零开始,使用ALSA驱动播放一个音频
  • 自动化设备上位机设计 一
  • tampermonkey插件下载国家标准文件
  • JAVA学习笔记2
  • Unity 解包工具(AssetStudio/UtinyRipper)
  • log4j2 对定时异步线程打印的日志进行过滤
  • Oracle内部bug导致的19c DG备库宕机
  • 2024 世界人工智能大会暨人工智能全球治理高级别会议全体会议在上海举办,推动智能向善造福全人类
  • 【算法专题--栈】用栈实现队列 -- 高频面试题(图文详解,小白一看就懂!!)
  • 2024亚太杯中文赛B题全保姆教程