小程序 — 实现左滑删除效果②

简介: 前言:这章我们为movable-view添加点击事件,完善左滑效果。GitHub:https://github.com/Ewall1106/miniProgramDemo1、 拖动事件(1)在上一章中,我们给movable-view绑定了一个...

前言:这章我们为movable-view添加点击事件,完善左滑效果。
GitHub:https://github.com/Ewall1106/miniProgramDemo

1、 拖动事件

(1)在上一章中,我们给movable-view绑定了一个bindchange事件,事件名为onChange,这个事件是干吗的呢?

拖动过程中触发的事件,event.detail = {x: x, y: y, source: source},其中source表示产生移动的原因,值可为touch(拖动)、touch-out-of-bounds(超出移动范围)、out-of-bounds(超出移动范围后的回弹)、friction(惯性)和空字符串(setData)

img_acadf1b1b27e1b1f4772c2d761d3586b.png
事件绑定

(2)所以我们就可以利用这个事件做点事情了

  • 首先我们先定义三个初始化变量xcurrentX
data = {
  // x轴方向的偏移
  x: 0,
  // 当前x的值
  currentX: 0
};
  • 然后监听下拖动事件并赋值给currentX
handleMovableChange(e) {
    this.currentX = e.detail.x;
    this.$apply();
}

2、手指触摸事件

将当前的currentX赋值给x以定义偏移量。

methods = {
  handleMovableChange(e) {
    this.currentX = e.detail.x;
    this.$apply();
  },
  handleTouchend(e) {
    if (this.currentX < -46) {
      this.x = -92;
      this.setData({
        x: this.x
      });
    } else {
      this.x = 0;
      this.setData({
        x: this.x
      });
    }
  }
};

上面有几行代码很少但却是整个实现左滑删除效果的核心代码,请仔细看,这里涉及到一个数据渲染的问题,后面我会讲。

this.x = -92;
this.setData({
  x: this.x
});

3、完整代码

全部js代码:

<script>
import wepy from 'wepy';

export default class Chapter5 extends wepy.page {
  data = {
    // x轴方向的偏移
    x: 0,
    // 当前x的值
    currentX: 0
  };

methods = {
  handleMovableChange(e) {
    this.currentX = e.detail.x;
    this.$apply();
  },
  handleTouchend(e) {
    if (this.currentX < -46) {
      this.x = -92;
      this.setData({
        x: this.x
      });
    } else {
      this.x = 0;
      this.setData({
        x: this.x
      });
    }
  }
};
}
</script>

至此,我们的用小程序实现左滑删除的效果基本上就全部实现了,如果你是用小程序原生开发的话,其实原理都是一样的,所以实现的方式也差不多。下一章是进阶。

目录
相关文章
|
6月前
|
JSON 小程序 Android开发
小程序列表左滑效果在IOS呈上下滑动影响样式
小程序列表左滑效果在IOS呈上下滑动影响样式
99 0
|
10月前
|
JSON 小程序 JavaScript
小程序学习笔记 | 如何实现左滑删除效果?
小程序学习笔记 | 如何实现左滑删除效果?
|
JavaScript 索引 小程序
小程序 — 实现左滑删除效果(列表)③
前言:实现完整的列表左滑删除功能。 GitHub:https://github.com/Ewall1106/miniProgramDemo 1、列表渲染 首先我们初始化一个list列表并为其添加数据,这个列表有两个值分别为标题文字title和初始的...
1103 0
|
Web App开发 容器
小程序 — 实现左滑删除效果①
前言:实现这个效果有几种方式,大家可以看看这篇文章从京东购物,印象笔记看小程序左滑交互的实现,而我们就使用最新的方案,就是用movable-view来实现左滑删除的效果。
2866 0
|
19天前
|
存储 编解码 小程序
抖音小程序开发中遇见的坑点
在抖音小程序开发中,需注意10大坑点:遵守小程序限制与规范;解决兼容性问题;优化数据加载速度;适应分享功能限制;处理视频播放挑战;优化图片加载显示;管理资源文件;提升用户体验;考虑安全性;及时更新维护。通过测试、优化和遵循官方文档,可克服这些问题,打造优质小程序。
|
29天前
|
小程序 前端开发 API
小程序全栈开发中的多端适配与响应式布局
【4月更文挑战第12天】本文探讨了小程序全栈开发中的多端适配与响应式布局。多端适配涉及平台和设备适应,确保统一用户体验;响应式布局利用媒体查询和弹性布局维持不同设备的布局一致性。实践中,开发者可借助跨平台框架实现多平台开发,运用响应式布局技术适应不同设备。同时,注意兼容性、性能优化和用户体验,以提升小程序质量和用户体验。通过这些方法,开发者能更好地掌握小程序全栈开发。
|
29天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
29天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
29天前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
|
29天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。