小程序学习笔记 | 如何实现左滑删除效果?

简介: 小程序学习笔记 | 如何实现左滑删除效果?

e1b989e7f9330c20da5021dd7e34443a_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

按:这是我的第二篇小程序学习笔记,感兴趣的朋友可以往下看,不感兴趣的朋友可以关闭了。


实现的效果

在小程序中实现一个类似微信聊天窗口左滑删除的效果,最终效果如下:a276137d398e0da573352e00b31951bf_640_wx_fmt=gif&wxfrom=5&wx_lazy=1.gif

实现这个效果,需要用到一个组件 slide-view,这个组件不属于原生组件(标签),它有另外一个名称——自定义组件。相比原生组件,自定义组件使用起来稍显麻烦。

开始前的准备


安装 Node.js[1]


这里我也没法解释 Node.js 具体是什么(因为我也还没学过),只知道 Node.js 集成了包管理工具 npm,后面在命令行工具 cmd 中安装小程序自定义组件时,需要用到 npm。

实现过程

由于我没有 Mac 电脑,以下操作仅对 Windows 系统而言。

弄清小程序项目存放的根目录

以我为例,我将小程序项目存放在 D 盘,具体路径为 D:\miniprogram\weixinminiprogram ,在这个路径下边,可以看到小程序的页面文件夹 pages、存放各种媒体的文件夹 images 等等。16f04dccd7d4434fa98d6cffd648c4ab_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

使用命令行工具进入根目录

使用 Win + R 打开「运行」窗口,输入 cmd,打开一个黑乎乎的窗口,这个窗口就是所谓的「命令行工具」。之所以要用到命令行,是为了安装(或者说下载)自定义组件 slide-view 的源代码,且需要将这些源代码存放到小程序根目录中。命令行默认的路径是 C 盘,但我将小程序项目放在了 D 盘,为了切换到 D 盘,在命令行中输入:cd\  并回车

接着输入 d:  并回车,此时就切换到了 D 盘接着使用命令行进入小程序的根目录,输入:cd miniprogram  并回车

cd weixinminiprogram  回车

此时就进入了小程序的根目录D:\miniprogram\weixinminiprogram 。

npm 初始化

npm 初始化仍需要用到命令行工具,在处于小程序根目录的状态下,输入:npm init  

并回车,稍等一会,会出现提示语「Press ^C at any time to quit」,接着连续按多次回车键,直至出现提示语「Is this OK」,再按一次回车键。这样就完成了 npm 的初始化,它会在小程序的根目录中生成一个 package.json 文件。

以上的命令行操作全过程,可以看我截取的一张图片:9fba191f9220ca0430a71b0038ff50ed_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

安装自定义组件

在命令行中输入:npm install --save miniprogram-slide-view运行这个命令,就会从云端下载自定义组件 slide-view 的源码,小程序的根目录中会多出一个名为 node_modules 的文件夹。fdbfbd2e6b0538bef2ffb05dd546dfa5_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

构建 npm

回到微信开发者工具中,点击「工具」选项卡,选择「构建 npm」,这个操作会将小程序编译时需要的文件,从 node_modules 文件夹移动到 miniprogram_npm 文件夹中。03d84368ce8014a172ca0986bf471971_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png完成这个操作后,小程序根目录会新增一个 miniprogram_npm 文件夹。

声明对组件的引用

在小程序页面的 json 配置文件里,对应到我的项目就是 index.json 文件,使用 usingComponents 配置,添加对 slide-view 的引用,具体代码如下:

0ec38f7799a9cdd2611b6f91d27d5a46_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

wxml 代码

声明引用后,就可以在 index.wxml 中使用组件 slide-view 了。使用 wxml 代码实现左滑删除效果之前,先画出它的线框图:0407b910cbc6e0f7a28277e8685e65de_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

wxml 代码实现:



<slide-view class="slide" width="750rpx" height="100rpx" slideWidth="300rpx">
    <view class="left" slot="left">这是左边的内容</view>
    <view class="right" slot="right">
        <view class="read">已读</view>
        <view class="delete">删除</view>
    </view>
</slide-view>

其中 slideWidth 是右侧隐藏按钮的宽度,第二个单次 Width 的 W 需要大写。

wxss 样式

样式用到了 Flex 布局,不了解 Flex 布局的朋友,可以看看知乎上的这篇教程《30 分钟学会 Flex 布局[2]》,可以说非常详细了。


.left{
    background-color: white;
    width: 750rpx;
    height: 100rpx;
    line-height: 100rpx;
    text-align: center;
}
.right{
    width: 750rpx;
    height: 100rpx;
    display: flex;
    line-height: 100rpx;
    text-align: center;
}
.read{
    width: 150rpx;
    background-color: gray;
    color: white;
}
.delete{
    width: 150rpx;
    background-color: red;
    color: white;
}

写在最后

本文的内容基本来自我正在学习的一个小程序课程,但之所以写这篇文章,是因为课程中略过了一些比较基础和细碎的内容。由于我是个弱鸡,在一开始使用命令行工具就遇到了问题,这些问题有:

  • 如何将命令行从 C 盘切换到 D 盘?
  • 使用使用 npm 命令?
  • 小程序根目录到底是指哪个文件夹?


后来经过多次的 Google 搜索,我把这些问题都解决了,于是就写下了这篇文章,我会把它分发到多个平台,喜欢对想学小程序或未来学小程序的朋友有帮助。以上。

References

[1] Node.js: https://nodejs.org/en/download/

[2] 30 分钟学会 Flex 布局: https://zhuanlan.zhihu.com/p/25303493


相关文章
|
小程序
小程序学习笔记(7) -- 自定义组件案例
小程序学习笔记(7) -- 自定义组件案例
202 0
|
小程序 测试技术 API
微信小程序学习笔记(6) -- 本地生活项目
微信小程序学习笔记(6) -- 本地生活项目
293 0
|
小程序
微信小程序学习笔记(入门篇)
微信小程序学习笔记(入门篇)
151 0
|
小程序 JavaScript
小程序学习笔记(8) -- 小程序生命周期
小程序学习笔记(8) -- 小程序生命周期
160 0
|
小程序 JavaScript
微信小程序学习笔记(5) -- todos案例
微信小程序学习笔记(5) -- todos案例
174 0
|
JSON 小程序 API
微信小程序学习笔记(4) -- 页面间的跳转和传值
微信小程序学习笔记(4) -- 页面间的跳转和传值
244 0
|
小程序 JavaScript
微信小程序学习笔记(3) -- 伸缩布局
微信小程序学习笔记(3) -- 伸缩布局
224 0
|
小程序 Python
如何用python制作一个锻炼计算能力的exe小程序-学习笔记11-pyinstaller
如何用python制作一个锻炼计算能力的exe小程序-学习笔记11-pyinstaller
312 0
如何用python制作一个锻炼计算能力的exe小程序-学习笔记11-pyinstaller
|
小程序 Python
python编写一个计算小程序-学习笔记8
python编写一个计算小程序-学习笔记8
251 0
python编写一个计算小程序-学习笔记8
|
小程序 Python
python编写问候小程序-学习笔记7
python编写问候小程序-学习笔记7
280 0
python编写问候小程序-学习笔记7

热门文章

最新文章