Bootstrap

跨平台应用开发进阶(五) :uni-app 实现列表项左划操作

一、前言

应用开发跨平台移动端App项目时,遇到列表项左划操作需求。经过研读门户,发现组件可以实现列表项左划操作功能。基础效果如下:

应用该组件能够满足基本的列表项目左划操作功能。完整示例demo请移步《》下载。

二、优化

在组件封装层面,发觉组件并不能很好的满足开发需求,故考虑应用其他解决方案。

视图渲染部分组件视图渲染层主要渲染列表项左划后的操作栏位,包含自定义图标及操作文字。其中,还涉及应用,对于不了解的同学可以参考博文《》、《》。


JS业务逻辑层面JS业务逻辑层主要涉及的事件,通过监听手势划动触发相应事件。


实现效果如下:

三、问题分析

动态加载数据,组件滑动失效是怎么回事?

因为组件会在加载的时候获取相应的节点信息数据 ,获取需要滑动的距离,所以有时候动态加载数据之后,可能是时机的问题,导致节点信息获取失败,那么组件就不能正常滑动。此时,可以通过强制页面重新渲染解决。

完整组件代码示例,请移步《》下载。

3.1 this.$forceUpdate();

调用强制更新方法会更新视图和数据,并触发生命周期函数。中一些复杂对象的修改,有时并不能被监听到,对于深层次结构数据,可以使用方法使之被监听,但如果不想利用方法去设置,也可以使用方法,可以使组件按照最新数据重新渲染。

有关中 方法的具体应用,详参博文

四、拓展阅读