mark-slide-list滑动操作插件引用遇到问题

mark-slide-list滑动操作插件引用遇到问题

问题:uni-app项目实现一个类似QQ左滑指定和删除的功能。
一开始用了uView中的SwipeAction组件,但是用于项目中出现不稳定的情况,每次打开需要点击正常的才能重新渲染,所以在插件市场找到mark-slide-list插件并引入项目,但是其中遇到点击第一次后不能点击的情况,因此把遇到的问题记录下来。

插件实现功能如图

在这里插入图片描述
在这里插入图片描述

解决过程

view中标签内绑定一个style样式,里面有slide_x 属性

:style="{ transform: 'translate3d(' + item.slide_x + 'px, 0, 0)' }"

在mounted函数中把子组件中list的值克隆给listData(clone函数是组件内部定义的一个函数),map集合把为选定的其他按钮的初始位置置为0

mounted() {
		this.list.map((val, idx) => {
			this.list[idx].slide_x = 0;
		})
		this.listData =	this.clone(this.list);
	},

这样写有一个问题,就是当点击一次后,程序无法获取slide_x 的值,所以需要在watch中监听slide_x 的值,所以需要在watch中重新利用map函数给slide_x 属性赋值,这样就正常了

	watch: {
		list(val) {
			let temp = val;
			temp.map((value, idx) => {
				temp[idx].slide_x = 0;
			})
			this.listData = this.clone(temp);
		}
	},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值