微信小程序简单好看的表格器


微信小程序目前没有 table 标签,需要用到表格,必须自己处理。想要一个简单的比较通用的表格,在网上没找到,综合了下找到的资料,根据bootstrap简单配色风格,自己简单处理了一个,希望对大家有帮助。

1.数据和样式

首先是数据
在.json中创建一个列表数据,大致如下:

Page({
    
    
  /**
   * 页面的初始数据
   */
  data: {
    
    
    listData: [
      {
    
     "col1": "第一列1", "col2": "第二列1", "col3": "第三列1" },
      {
    
     "col1": "第一列2", "col2": "第二列2", "col3": "第三列2" },
      {
    
     "col1": "第一列3", "col2": "第二列3", "col3": "第三列3" },
      {
    
     "col1": "第一列4", "col2": "第二列4", "col3": "第三列4" },
      {
    
     "col1": "第一列5", "col2": "第二列5", "col3": "第三列5" },
      {
    
     "col1": "第一列6", "col2": "第二列6", "col3": "第三列6" },
      {
    
     "col1": "第一列7", "col2": "第二列7", "col3": "第三列7" },
      {
    
     "col1": "第一列8", "col2": "第二列8", "col3": "第三列8" }
    ]
  }
})

然后是样式
在.wxss中加入如下样式:

/*
分割线
*/
.divLine{
    
    
 background: rgb(80, 80, 80);
 width: 100%;
 height: 5rpx;
 margin-bottom: 20rpx;
}
/*
页面左右留白
*/
.pageSapce{
    
    
  margin-left: 5%;
  margin-right: 5%;
}
/*
表格纵向滑动条
*/
.table-wrap{
    
    
  height: 400rpx;
  overflow-y: scroll;
  overflow-x: hidden;
}
/* 表格代码   */
.table {
    
    
  border:1px solid #dddddd;
  border-right:0;
  border-bottom: 0;
  width: 98%;
  margin-left: 1%;
}
.tr {
    
    
  display: flex;
  width: 100%;
  justify-content: center;
  height: 3rem;
  align-items: center;
}
.td {
    
    
 width: 34%;
  justify-content: center;
  align-items: center;
  color: #4f4f4f;
  display: flex;
  font-size: 25rpx;
  height: 99%;
  border-bottom: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
}
/*
用于列表隔行的颜色变化
*/
.tdColor{
    
    
  background:#f7f7f7;
}
/*
表头颜色
*/
.thColor{
    
    
  background:#eff3f5;
}
.th {
    
    
  width: 34%;
  justify-content: center;
  align-items: center;
  color: #4f4f4f;
  display: flex;
  height: 99%;
  font-weight: 600;
  border-bottom: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
}

2.带纵向滑动条的列表纯色简单表格

在.wxml中加入如下代码:

<view class="pageSapce">
  <!--表格1-->
  <text>带纵向滑动条的简单表格1</text>
  <view class="divLine"></view>
  <view class="table ">
    <view class="tr thColor">
      <view class="th">表头1</view>
      <view class="th ">表头2</view>
      <view class="th ">表头3</view>
    </view>
    <view class="table-wrap">
      <block wx:for="{
     
     {listData}}" wx:key="{
     
     {code}}">
        <view class="tr">
          <view class="td">{
   
   {item.col1}}</view>
          <view class="td">{
   
   {item.col2}}</view>
          <view class="td">{
   
   {item.col3}}</view>
        </view>
      </block>
    </view>
  </view>
</view>

效果如下图:
在这里插入图片描述

3.带纵向滑动条的列表间隔色简单表格

在.wxml中加入如下代码:

<view class="pageSapce">
<!--表格2-->
  <text>带纵向滑动条的简单表格2</text>
  <view class="divLine"></view>
  <view class="table ">
    <view class="tr thColor">
      <view class="th">表头1</view>
      <view class="th ">表头2</view>
      <view class="th ">表头3</view>
    </view>
    <view class="table-wrap">
      <block wx:for="{
     
     {listData}}" wx:key="{
     
     {code}}">
        <view class="tr" wx:if="{
     
     {index%2==0}}">
          <view class="td">{
   
   {item.col1}}</view>
          <view class="td">{
   
   {item.col2}}</view>
          <view class="td">{
   
   {item.col3}}</view>
        </view>
        <view class="tr tdColor" wx:else>
          <view class="td">{
   
   {item.col1}}</view>
          <view class="td">{
   
   {item.col2}}</view>
          <view class="td">{
   
   {item.col3}}</view>
        </view>
      </block>
    </view>
  </view>
</view>

加入wx:if判断产生间隔变色,变色引用新的简单样式:

用于列表隔行的颜色变化
*/
.tdColor{
    
    
  background:#f7f7f7;
}

效果大致如下:
在这里插入图片描述
大致就是这样,下面附上源码连接:GitHub.

猜你喜欢

转载自blog.csdn.net/yueyie/article/details/97372735