movable-view设置x的问题
发布于 6 年前 作者 yetao 7591 次浏览 来自 问答

首先我想用movable-view来实现滑动删除的效果,so写法如下:

<movable-area class=“box” wx:for="{{[1,2,3,4]}}" wx:key="{{index}}" style=“width: 120%; margin-left:-20%;” >

<movable-view class=“item” style=“width: 80%; background: #fff;”  direction=“horizontal” inertia=“true” out-of-bounds=“true” bindtouchend=‘sEnd’ data-index=’{{index}}’ x="{{setX[index]}}" bindchange=“slider”>

<image class=“userImg” src="/image/user.png" catchtap=“toUserCard” data-index="{{index}}"></image>

<view class=‘item-right’>

<view class=’’>xxxxx</view>

<view class=’’>来源:xxxxx</view>

</view>

<view class=‘status’>等待验证</view>

<!-- <view class=‘applay’>添加</view> -->

</movable-view>

<view class=‘remove’ bindtap=‘remove’>删除</view>

</movable-area>

因为movable-view没有滑动停止触发的事件,所以用到了bindtouchend方法,

slider: function(e){

var index = e.currentTarget.dataset.index

var xlist = this.data.setX

xlist[index] = e.detail.x

},

sEnd: function(e){

var index = e.currentTarget.dataset.index

var xlist = this.data.setX

xlist[index] = xlist[index] >=35 ? 70 : 0

if (index != this.data.preIndex){

if (this.data.preIndex != -1) {

xlist[this.data.preIndex] = 70

}

this.data.preIndex = index

}

this.setData({

setX: xlist,

})

this.data.preIndex = index

}

},

然后问题来了,x设置为0,为什么setData以后,滑动的moveable-view又回到原位置去了(一开始70)

执行完setData以后:

……怎么回事,设置x都不起作用的吗?

回到顶部