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

简介: 前言:这章我们为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>

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

目录
相关文章
|
JSON 小程序 Android开发
小程序列表左滑效果在IOS呈上下滑动影响样式
小程序列表左滑效果在IOS呈上下滑动影响样式
125 0
|
JSON 小程序 JavaScript
小程序学习笔记 | 如何实现左滑删除效果?
小程序学习笔记 | 如何实现左滑删除效果?
|
JavaScript 索引 小程序
小程序 — 实现左滑删除效果(列表)③
前言:实现完整的列表左滑删除功能。 GitHub:https://github.com/Ewall1106/miniProgramDemo 1、列表渲染 首先我们初始化一个list列表并为其添加数据,这个列表有两个值分别为标题文字title和初始的...
1148 0
|
Web App开发 容器
小程序 — 实现左滑删除效果①
前言:实现这个效果有几种方式,大家可以看看这篇文章从京东购物,印象笔记看小程序左滑交互的实现,而我们就使用最新的方案,就是用movable-view来实现左滑删除的效果。
2913 0
|
1月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
213 3
|
1月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
48 0
微信小程序更新提醒uniapp
|
3月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
104 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
3月前
|
小程序 前端开发 JavaScript
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【避坑宝】是一款企业黑红名单吐槽小程序,旨在帮助打工人群体辨别企业优劣。该平台采用SpringBoot+MybatisPlus+uniapp+uview2等技术栈构建,具备丰富的注释与简洁的代码结构,非常适合实战练习与学习。通过小程序搜索“避坑宝”即可体验。
103 0
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
|
3月前
|
存储 小程序 JavaScript
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
62 7

热门文章

最新文章