提示信息

微信小程序实现可滑动的固定表头和列表格

韦旺泽 已关注

在微信小程序中实现可滑动的固定表头和列表格,可以使用scroll-view组件来实现。以下是一个简单的实现思路和示例代码:

实现思路

  1. 结构布局:使用一个view容器来放置表头,并用一个scroll-view容器来放置表体数据,这样就可以实现表头固定,表体数据可以滚动。

  2. 设置固定宽度:如果表格的列和表头的宽度需要固定,可以通过CSS来预先设置。

  3. 滑动同步:确保表头和表体的列宽一致,以保证视觉上的对齐。

示例代码

index.wxml

  1. <view class="table-container">
  2. <!-- 固定表头 -->
  3. <view class="table-header">
  4. <view class="table-cell">列1</view>
  5. <view class="table-cell">列2</view>
  6. <view class="table-cell">列3</view>
  7. </view>
  8. <!-- 滚动的表体 -->
  9. <scroll-view class="table-body" scroll-y>
  10. <block wx:for="{{tableData}}" wx:key="id">
  11. <view class="table-row">
  12. <view class="table-cell">{{item.col1}}</view>
  13. <view class="table-cell">{{item.col2}}</view>
  14. <view class="table-cell">{{item.col3}}</view>
  15. </view>
  16. </block>
  17. </scroll-view>
  18. </view>

index.wxss

  1. .table-container {
  2. display: flex;
  3. flex-direction: column;
  4. }
  5. .table-header,
  6. .table-row {
  7. display: flex;
  8. width: 100%;
  9. }
  10. .table-cell {
  11. flex: 1;
  12. padding: 10px;
  13. border-bottom: 1px solid #ddd;
  14. border-right: 1px solid #ddd;
  15. text-align: center;
  16. }
  17. .table-cell:last-child {
  18. border-right: none;
  19. }
  20. .table-header {
  21. background-color: #f8f8f8;
  22. font-weight: bold;
  23. }
  24. .table-body {
  25. height: 300px; /* 根据需要自行调整 */
  26. }

index.js

  1. Page({
  2. data: {
  3. tableData: [
  4. { id: 1, col1: '数据1-1', col2: '数据1-2', col3: '数据1-3' },
  5. { id: 2, col1: '数据2-1', col2: '数据2-2', col3: '数据2-3' },
  6. // 继续添加数据
  7. ]
  8. }
  9. });

关键点说明

  • scroll-view: 使用scroll-y属性来允许垂直滚动。
  • 数据绑定: 通过wx:for循环来渲染表格每一行的数据。
  • CSS布局: 使用flex布局来实现等宽的表格列。可以通过调整.table-cellflex属性来改变列宽比例。

根据需要,你可以扩展这个基本结构,添加更多的功能,例如排序、动态数据加载等。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
韦旺泽 关注 已关注

最近一次登录:2024-11-21 09:46:43   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图