分享好友 编程语言首页 频道列表

小程序***滑动的表格 小程序实现左右滑动

小程序文章/教程  2023-02-09 09:550
// pages/test/test.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    headerList: [{
      name: '表头一',
      number: 'A201',
      type: "标准间"
    }, {
      name: '表头二',
      number: 'A202',
      type: "大床"
    }, {
      name: '表头三',
      number: 'A203',
      type: "标准间"
    }, {
      name: '表头四',
      number: 'A204',
      type: "大床"
    }, {
      name: '表头五',
      number: 'A205',
      type: "标准间"
    }, {
      name: '表头六',
      number: 'A206',
      type: "大床"
    }],
    list: [
      {
        date: "05-12",
        num: 4,
        week: '周一',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      },
      {
        date: "05-12",
        num: 4,
        week: '周二',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      },
      {
        date: "05-12",
        num: 4,
        week: '周三',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      },
      {
        date: "05-12",
        num: 4,
        week: '周四',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      },
      {
        date: "05-12",
        num: 4,
        week: '周五',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      },
      {
        date: "05-12",
        num: 4,
        week: '周六',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      },
      {
        date: "05-12",
        num: 4,
        week: '周日',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      },
      {
        date: "05-12",
        num: 4,
        week: '周八',
        children: [{
            number: 'A201',
            name: '测试',
            money: '360'
          },
          {
            number: 'A202',
            name: '测试',
            money: '360'
          },
          {
            number: 'A203',
            name: '测试',
            money: '360'
          }, {
            number: 'A204',
            name: '测试',
            money: '360'
          }, {
            number: 'A205',
            name: '测试',
            money: '360'
          }, {
            number: 'A206',
            name: '测试',
            money: '360'
          }
        ]
      }
    ],
    scrollTop: true,
    left: 0
  },
  // 监听左右滚动
  scroll: function (e) {
    let that = this;
    that.setData({
      left: e.detail.scrollLeft,
    })
  },
  // 监听上下滚动
  // onPageScroll (e) { 
  //   let that = this;
  //   if(e.scrollTop>10){
  //     that.setData({
  //       top:e.scrollTop,
  //       scrollTop:false
  //     })
  //   }else{
  //     that.setData({
  //       scrollTop:true
  //     })
  //   }
  //   },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this;
    wx.getSystemInfo({
      success: function (res) {
        console.log(res.windowWidth)
        console.log(res.windowWidth / 5)
        that.setData({
          // 设置紫色框 scroll-view 的高度
          wHeight: res.windowWidth,
          width: res.windowWidth / 5,
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})
 <!-- pages/test/test.wxml -->
<view class="top flex">
    <view class="top_left" style="width:{{width}}px;">时间段</view>
    <view class="top_right flex" style="width:{{wHeight-width}}px;margin-left:-{{left}}px;">
        <view class="top_info" style="min-width:{{width}}px;" wx:for="{{headerList}}" wx:key="index">
            <view>{{item.name}}</view>
            <view>{{item.number}}</view>
            <view>{{item.type}}</view>
        </view>
    </view>
</view>
<view class="perch"></view>
<view class="bottom flex">
    <view class="bottom_left" style="width:{{width}}px;">
        <view class="bottom_left_date" style="width:{{width}}px;" wx:for="{{list}}" wx:key="index">
            <view>{{item.date}}</view>
            <view>{{item.week}}</view>
            <!-- <view>{{left}}{{item.week}}</view> -->
            <view>剩余{{item.num}}间</view>
        </view>
    </view>
    <scroll-view scroll-x="true" bindscroll="scroll" throttle="{{false}}" class="bottom_right" style="width:{{wHeight-width}}px;">
        <view class="flex">
            <view class="bottom_right_ver" style="min-width:{{width}}px;" wx:for="{{headerList}}" wx:for-index="idx" wx:key="index">
                <view class="bottom_right_ver_info" style="min-width:{{width}}px;" wx:for="{{list}}" wx:key="index">
                        <view>{{item.children[idx].number}}</view>
                        <view>{{item.children[idx].name}}</view>
                        <view>{{item.date}}</view>
                </view>
            </view>
        </view>

    </scroll-view>

</view>
/* pages/test/test.wxss */
.flex{
  display: flex;
  display: -webkit-flex;
}
.top{
  width: 750rpx;
  height: 150rpx;
  border: 1px solid #eee;
  position: fixed;
  z-index: 1001;
}
.top_left{
  height: 150rpx;
  background: #fff;
  z-index: 1001;
}
.top_right{
  height: 150rpx;
}
/* 表头样式 */
.top_info{
  height: 150rpx;
  /* border:1px solid #eee; */
  background: #fff;
  z-index: 101;
}
.perch{
  width: 750rpx;
  height: 150rpx;
}
.bottom{
  width: 750rpx;
}
.bottom_left{
  /* background: #fff; */
}
.bottom_left_date{
  height: 150rpx;
  /* border:1px solid #eee; */
}
.bottom_right{
  /* border:1px solid #eee; */
}
.bottom_right_ver{
  /* border: 1px solid #eee; */
}
.bottom_right_ver_info{
  height: 150rpx;
  /* border:1px solid #eee; */
}
// pages/test/test.json*/
{
  "navigationBarTitleText": "上下左右滑动的表格",
  "navigationBarBackgroundColor": "#eee",
  "backgroundTextStyle": "light",
  "backgroundColor": "#eee",
  "navigationBarTextStyle": "black",
  "usingComponents": {}
}

 可直接使用源码,谢绝转载!

查看更多关于【小程序文章/教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
小程序 AI/AR 能力
一、关于 VisionKit1、定义VisionKit 为小程序提供了开发 AR 功能的能力,包含了 AR 在内的视觉算法。2、版本提供了 V1 和 V2 两个版本,区别如下:V1平面接口,适用于用户在平面场景下,例如桌面,地面,泛平面场景,放置虚拟物体,不提供真实世界距离。用户

0评论2023-03-08842

Python小程序——快排算法 快排 python
1 def Partition(list,p,q): 2 #这里是用来分块的算法。 3 x = list[p] 4 i = p 5 for j in range(p+1,q+1): #注意range是顾前不顾后的,所以后面的区间值要大一位 6 if list[j]x: 7 i+=1 8 list[i],list[j] = list[j],list[i] 9 10 list[p], list[i] = list[

0评论2023-02-09351

c++第一个小程序 第一个小程序是什么
 #include iostreamusing namespace std;int main(){const int SIZE=50;//定义大小。char name[SIZE]; cout"please input you name!\n"; //提示cinname;//输入cout"hello world:"nameendl; //输出return 0;}   #include iostreamusing namespace std;int m

0评论2023-02-09579

微信小程序 错误记录
1、报错this.getUserInfo(this.setData) is not a function;at pages/index/index onShow function;at api request success callback functionTypeError: this.getUserInfo is not a function在回调结果里调用这个页面的函数 this.fun() 或者 this.setData 时

0评论2023-02-09477

【小程序】添加tabBar后navigateTo失效
某页面.js//事件处理函数bindViewTap() {wx.navigateTo({url: '../logs/logs',})}, app.json"tabBar": {"backgroundColor": "black","color":"white","list": [{"pagePath": "pages/index/inde

0评论2023-02-09474

小程序组件之间的通信 小程序子父子组件通信
前言:其实之前就想写这个的,因为我觉得这么模块化的框架,组件之间通信是非常重要的,也是最经常用到的一块儿,只是之前在项目里一直没用到跨组件通信,现在用到了,也会用了,就一起写出来得了 :) 一、父、子组件之间的通信注:首先我们先将子组件在父组

0评论2023-02-09452

微信小程序左右滑动切换页面示例代码--转载
微信小程序——左右滑动切换页面事件微信小程序的左右滑动触屏事件,主要有三个事件:touchstart,touchmove,touchend。这三个事件最重要的属性是pageX和pageY,表示X,Y坐标。touchstart在触摸开始时触发事件;touchend在触摸结束时触发事件;touchmove触摸的

0评论2023-02-09564

让vue用于小程序setData方法
setData:function(obj){let that = this;let keys = [];let val,data;Object.keys(obj).forEach(function(key){keys = key.split('.');val = obj[key];data = that.$data;keys.forEach(function(key2,index){if(index+1 == keys.length){that.$set(data,key2,

0评论2023-02-09891

微信小程序 canvas导出图片模糊
//保存到手机相册save:function () {wx.canvasToTempFilePath({x: 0,y: 0,width: 375, //导出图片的宽height: 680, //导出图片的高destWidth: 375 * 750 / wx.getSystemInfoSync().windowWidth, //绘制canvas的时候用的是px, 这里换算成rpx ,导出后非常清晰

0评论2023-02-09339

微信小程序hidden问题 微信小程序隐藏view
    context.fillText('Hello World', 20, 380);                wx.drawCanvas({                    canvasId: '2',                    actions: context.getActions()                });       

0评论2023-02-09905

微信小程序实现图片双滑缩放大小 微信小程序图片点击放大
在做小程序开发的过程中,后端传来一张图片地图,需要实现双手指滑动,使图片缩放,最终得出了一下代码:  js :Page({data: {touch: {distance: 0,scale: 1,baseWidth: null,baseHeight: null,scaleWidth: null,scaleHeight: null}},touchStartHandle(e) {/

0评论2023-02-09697

更多推荐