uniapp uni-table最简单固定表头

需求:固定表头数据,在网上找了半天,啥都有,就是一直实现不了,最后更改代码实现

1.效果

2.主要代码讲解+完整代码

表格的父级一定要设置高度,不然会错位,我看网上说设置position:fixed,我觉得没必要,给父级设置position: relative;,表头设置position: absolute就可以定位到想要的位置了,但是这样会导致脱离标准文档流,所以还要在表格内容设置个margin-top:44px.44px是表头的高度,复制如下代码即可实现需求~

html 复制代码
<template>
	<view class="uni-container">
		<uni-table ref="table"  border stripe emptyText="暂无更多数据">
			<view class="tableHead">
				<uni-tr>
					<uni-th align="center">
						<view style="width:50px;">姓名</view>
					</uni-th>
					<uni-th align="center">
						<view style="width:50px;">部门</view>
					</uni-th>
					<uni-th align="center">
						<view style="width:50px;">职位</view>
					</uni-th>
					<uni-th align="center">
						<view style="width:50px;">角色</view>
					</uni-th>
				</uni-tr>
			</view>
			<view class="tableBody" >
				<uni-tr v-for="(item, index) in tableData" :key="index">
					<uni-td>
						<view style="width:50px;">{{item.realname}}</view>
					</uni-td>
					<uni-td>
						<view style="width:50px;">{{item.name}}</view>
					</uni-td>
					<uni-td>
						<view style="width:50px;">{{item.post || ''}}</view>
					</uni-td>
					<uni-td>
						<view style="width:50px;">{{item.roleName}}</view>
					</uni-td>
				</uni-tr>
			</view>
		</uni-table>
	</view>


</template>

<script>
	export default {
		data() {
			return {
				loading: false,
				tableData: [{
					name: '382'
				}, {
					name: '382'
				}],
			}
		},
		mounted() {
			const result = [];
			for (let i = 0; i < 100; i++) {
				result.push({
					date: new Date().toISOString(),
					realname: '张三',
					name: '研发',
					post:'11'
				})
			}
			this.tableData = result;
		}
	}
</script>

<style lang="scss">
	.uni-container {
		height: 500rpx;
		
		margin-top: 50rpx;
		position: relative;
	}

	/* //表头固定样式 */
	::v-deep .tableHead {
		font-weight: bold;
		color: #333333;
		background: #F4F6FF;
		z-index: 20;
		position: absolute;
		top: 0rpx;
	}

	::v-deep .tableBody {
		height: 500px;
		overflow: scroll;
		margin-top: 44px;
		background-color: #fff;
	}
</style>

文章到处结束,希望对你有所帮助~

相关推荐
Mr_li18 小时前
给 Vue 开发者的 uni-app 快速指南
vue.js·uni-app
anyup21 小时前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
Mintopia2 天前
Vue3 项目如何迁移到 uni-app x:从纯 Web 到多端应用的系统指南
uni-app
Mintopia2 天前
uni-app x 发展前景技术分析:跨端统一的新阶段?
uni-app
不爱说话郭德纲3 天前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
HashTang4 天前
【AI 编程实战】第 12 篇:从 0 到 1 的回顾 - 项目总结与 AI 协作心得
前端·uni-app·ai编程
JunjunZ4 天前
uniapp 文件预览:从文件流到多格式预览的完整实现
前端·uni-app
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
TT_Close5 天前
“啪啪啪”三下键盘,极速拉起你的 uni-app 项目!
vue.js·uni-app·前端工程化
特立独行的猫a5 天前
uni-app x跨平台开发实战:开发鸿蒙HarmonyOS影视票房榜组件完整实现过程
华为·uni-app·harmonyos·轮播图·uniapp-x