效果图

表头固定,可缩放效果

前言

用到的组件:
使用uniapp内置组件 movable-view和movable-area实现表格缩放
使用uni-table 实现表格渲染(自带多选,没有头固定功能)

开始探索
实现表头固定功能,看到网上使用sticky定位封装table组件,需要自己另外实现多选等一些事件监听功能,单元格动态设置高度。可是我想偷懒,并且现在情况就是我不偷懒尝试去实现
还是会遇到如下一些问题

情况一:表头和表体分开控制,表体进行缩放,列头名称和列数据不能一一对应,左右拖动和缩放表体过程中会导致表头名称与表体数据不对应的问题。并且由于手机宽度有限,用户要单独左右滑动才能看到全部表头内容
情况二:表头和表体一起控制,一起缩放。列头名称和列数据才能一一对应,缩放过程中会导致表头不能固定,达不到表头固定效果。

失败告终

别灰心 我们自己来研究,哈哈哈哈

最终我花了三四天终于改出来了,发现自己之前走了太多弯路,简直太low了,缘来如此简单,根本不需要自己去重新手写table,也免去了重新做多选的功能

话不多说,上代码:

html文件

<movable-area scale-area ><movable-view  y="10"  style="height:10px;" direction="horizontal"   scale scale-min="1" scale-max="4"><view class="uni-container"><uni-table ref="table" :loading="userLoading" border stripe emptyText="暂无更多数据"><view  class="tableHead"><uni-tr><uni-th align="center"><view style="width:150px;">姓名</view></uni-th><uni-th align="center"><view style="width:150px;">部门</view></uni-th><uni-th align="center"><view style="width:150px;">职位</view></uni-th><uni-th align="center"><view style="width:150px;">角色</view></uni-th><uni-th align="center"><view style="width:204px;">操作</view></uni-th></uni-tr></view><view  class="tableBody" style="margin-top: 27px;"><uni-tr v-for="(item, index) in tableData" :key="index"><uni-td><view style="width:150px;">{{item.realname}}</view></uni-td><uni-td><view style="width:150px;">{{item.name}}</view></uni-td><uni-td><view style="width:150px;">{{item.post || ''}}</view></uni-td><uni-td><view style="width:150px;">{{item.roleName}}</view></uni-td><uni-td><view class="uni-group" style="width:204px;"><button class="uni-button" size="mini" type="warn" @click="handleDel(item.userId)">删除</button></view></uni-td></uni-tr></view></uni-table><view class="uni-pagination-box" style="display:inline-block;margin-left:100px"><uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total" @change="change" /></view></view></movable-view></movable-area>

css样式

   movable-view {display: flex;width: auto;height:auto;min-width:100%;}movable-area {height: 100%;width: 100%;position:fixed;overflow: scroll;}/* //表头固定样式 */.tableHead{font-weight: bold;color: #333333;background: #F4F6FF;z-index: 20;position:fixed;top:0;}.tableBody{height: 500px;overflow: scroll;margin-top:42px;}

要点说明:

1,tableBody的margin-top值为你的表头高度
2,movable-view一定要设置高度,不然缩放过程中,会导致表头超出缩放区域,达不到固定表头的效果
3,th 和td 中间一定要加view 撑开宽度,来达到表头和表体单元格宽度一致的效果
4,direction要设置为horizontal,横向的,否则表格会随手指滑动上下移动,这不是我要的效果

最后是不是很简单。

uniapp 微信小程序 ui-table 表头固定,可缩放,实现相关推荐

  1. uniapp 微信小程序 搜索框滚动固定

    1.需求 首页搜索框列表滚动固定在顶部 2.方案 1.底部tabbar是自定义的高度184rpx 2.顶部navbar是自定义的高度写死 44px 3.在mounted生命函数使用uni.getSys ...

  2. uniapp、微信小程序--自定义table

    呜呜呜~~~咋说呢,uniapp表格代码搞完转小程序才发现微信小程序没有table!!!哭泣! 本来想用flex布局的,突然想到了css display: table;display: table-c ...

  3. vue uniapp 微信小程序 搜索下拉框 模糊搜索

    vue uniapp 微信小程序 搜索下拉框 模糊搜索 话不多说 直接贴代码 template <template><view class="index"> ...

  4. uniapp 微信小程序登录方法封装

    uniapp 微信小程序登录方法封装 前言 一.登录接口 二.登录 上代码 总结 前言 ui设计没有登录页所以将微信小程序登录方法同一封装一个方法 一.登录接口 uni.getUserProfile ...

  5. 【多人会议功能】uniapp - 微信小程序 - 腾讯云

    目的:uniapp微信小程序通过腾讯云实现多人会议功能. 效果展示: 功能实现: 前提条件: 注册腾讯云 账号,并完成 实名认证. 推拉流标签不支持个人小程序,要求申请的企业类微信小程序. 步骤一:开 ...

  6. uni-app 微信小程序端-AirKiss一键配网

    uni-app 微信小程序端-AirKiss一键配网 发现网上很多关于微信小程序配网的文章都是微信小程序原生开发,uni-app少之又少.这篇文章就介绍一下怎么在HBuilder X使用airkiss ...

  7. uni-app 微信小程序根据角色动态的更改底部tabbar

    文章目录 1. 需求背景 1.1 源码下载 2. 问题前提及思路 3. 开始撸 3.1 设置 `tabbar.js` 配置不同角色不同的菜单 3.2 设置 `page.json` 3.3 vue 配置 ...

  8. uniapp微信小程序不强制登陆的逻辑(模仿大厂登陆)

    博主不易,记得收藏点赞加关注哈 前言 正常需求中,微信小程序的登陆都是不强制的,但是网上大多资料教的都是强制登陆,或者做个登陆页面,其实这种太影响用户体验,还很容易小程序审核不通过 如果想看懂这篇博客 ...

  9. 高颜值微信小程序 UI 组件库!

    Vant Weapp Vant 是一个轻量.可靠的移动端组件库,由有赞于 2017 年开源. Github(⭐️ 16.5k):github.com/youzan/vant- iView Weapp ...

  10. 22款常用微信小程序UI框架推荐!

    22个好看.常用的微信小程序UI组件库推荐! 1. WeUI 地址:https://developers.weixin.qq.com/miniprogram/dev/extended/weui/ 预览 ...

最新文章

  1. php js 复选框选中,为每个选中的复选框显示相同的一组问题。 (PHP和JS / Jquery)...
  2. css属性基础以及wxss——居中,渐变色边框,圆角边框,横向布局,重叠div,div固定在底部,input的无边框显示下划线
  3. 训练日志 2019.3.20
  4. 【英语学习】【Daily English】U13 Holiday L02 That's supposedly the best time of year to go
  5. Vue编写动态组件实践(render函数的使用心得)
  6. 良好的XHTML规则
  7. 关键字nullable,nonnull,null_resettable,_Null_unspecified详解
  8. python变量作用域图解_简单了解Python变量作用域正确使用方法
  9. JAVA实现EXCEL公式专题(七)——统计函数
  10. c#winform单表生树
  11. c 语言 sqlite,SQLite 的 C 语言编程
  12. ghost服务器系统镜像文件,带RAID服务器能GHOST备份吗?
  13. 计算机日历教案,计算机基础教学日历.doc
  14. 网易云信技术创新,助力网易云音乐社交玩法升级
  15. windowbuilder怎么加背景图_抖音吸粉新套路,主页背景图太太太太有心机了
  16. 基于字典的中文分词算法RMM
  17. 【c语言】(函数)金字塔图形问题:根据n的个数,输出由字母组成的一个金字塔图形
  18. MySQL5.7找到data文件夹
  19. 大家期待已经的相亲交友网站源码来了
  20. 微信小程序——tabBar使用

热门文章

  1. 小白入门SQL基础知识汇总
  2. IMS 呼叫流程简单分析
  3. 高通Ziad Asghar:AI处理的重心从云端向边缘侧转移,智能手机是最佳平台 | MEET 2023...
  4. 哪家软件公司的表单设计器好?
  5. Unity3D学习之第二个游戏制作日记
  6. Qt Quick - TabBar
  7. oracle执行存储过程06576,oracle的存储过程语法
  8. Ajax、JSON数据和文件上传与下载
  9. 城市供水管网漏损控制与实践
  10. 2020 最新MySQL 安装及建议(小白操作)