千家信息网

Vue实现无限滑动周选择日期的组件代码怎么写

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍"Vue实现无限滑动周选择日期的组件代码怎么写",在日常操作中,相信很多人在Vue实现无限滑动周选择日期的组件代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2025年02月03日Vue实现无限滑动周选择日期的组件代码怎么写

这篇文章主要介绍"Vue实现无限滑动周选择日期的组件代码怎么写",在日常操作中,相信很多人在Vue实现无限滑动周选择日期的组件代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Vue实现无限滑动周选择日期的组件代码怎么写"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

思路

根据用户传入日期(不传默认今天),获取上一周,当周,下一周对应的日期放数组dates里

let vm = this  this.dates.push(   {    date: moment(vm.defaultDate).subtract(7, 'd').format('YYYY-MM-DD'),   },   {    date: vm.defaultDate,   },   {    date: moment(vm.defaultDate).add(7, 'd').format('YYYY-MM-DD'),   }  )

根据datas 生成每一周对应的日期

getDaies (date) {   let vm = this,    arr = []   let weekOfDate = Number(moment(date).format('E'))   let weeks = ['日', '一', '二', '三', '四', '五', '六']   let today = moment()   let defaultDay = moment(vm.defaultDate)   for (var i = 0; i < 7; i++) {    let _theDate = moment(date).subtract(weekOfDate - i, 'd')    arr.push({     date: _theDate.format('YYYY-MM-DD'),     week: weeks[i],     isToday: _theDate.format('YYYY-MM-DD') === today.format('YYYY-MM-DD'),     isDay: _theDate.format('E') === defaultDay.format('E')    })   }   return arr  }

生成每一个滑动单元的style

getTransform (index) {   let vm = this   let style = {}   if (index === vm.activeIndex) {    style['transform'] = 'translateX('+ vm.distan.x +'px)'   }   if (index < vm.activeIndex) {    style['transform'] = 'translateX(-100%)'   }   if (index > vm.activeIndex) {    style['transform'] = 'translateX(100%)'   }   style['transition'] = vm.isAnimation ? 'transform 0.5s ease-out' : 'transform 0s ease-out'   return style  }

然后就是处理touchstart touchend touchmove事件了,这里就不贴代码了,说下逻辑:

  • ouchstart 记录滑动起点位置

  • touchmove 获得滑动距离赋值给 vm.distan.x 实时获得当前周transform

  • touchend 改变activeIndex的值,当然改变activeIndex的值是不够的,要实现无限滑动,就要在操作一下dates,如果是左滑删除dates的第一个元素并且往dates里面push下下周对应日期,如果是右滑删除最后一个元素并网数组前面unshift上上周对应的日期

到此,关于"Vue实现无限滑动周选择日期的组件代码怎么写"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

日期 代码 组件 选择 学习 元素 数组 更多 帮助 生成 实用 接下来 下下周 不够 事件 位置 单元 实时 就是 思路 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术专业的就业职位 数据库字段值是否为空 服务器订阅要钱么 互联网数据库多少钱一月 新玩家怎么选择幻塔服务器 现在的数据库技术 与国际软件开发工具比较 天津品之翼科技互联网广告 java对数据库的操作 阿里云数据库怎么使用 管理服务器acs 广州万易互联网科技有限公司 西安网络技术培训哪里好 软件开发小组岗位职责 公职人员网络安全事例 数据库与信息管理技术简介 黑客需不需要计算机网络技术 青浦区工程网络技术费用 sql管理数据库的语句 网络技术员的学习步骤 网络安全基础知识笔记 网络安全法》第四十条规定 成都c语言软件开发哪家便宜 软件开发编制依据是什么意思 网络安全犯罪及民法知识的心得 rfid服务器都处理了哪些信息 凯里管理软件开发 计算机数据库怎么检查 asp数据库名一般是什么 办公网络安全防护建设
0