一、方法
1、instance.close()
instance为SwipeCell 实例
2、this.selectComponent()
通过 selectComponent 可以获取到 SwipeCell 实例并调用实例方法
3、bind:click
、bind:close
、bind:open
通过bind:close
事件才可以获得instance
,意味着触发了SwipeCell 的close事件才能关闭,但是点击页面其他空白位置时不会触发这个事件
二、思路
在打开单元格的时候将该单元格的实例存入变量中,在响应点击事件时,将变量中的实例逐个调用实例的close方法。
三、代码
data: {
selected:[]
},
// SwipeCell的bind:open方法
onOpen(event) {
// 根据id选择instance,id为van-swipe-cell元素设置的id
let instance = this.selectComponent(`#${event.target.id}`);
this.data.selected.push(instance);
},
// 放到页面的根元素上
onTap() {
// 循环关闭
this.data.selected.forEach(function (instance) {
instance.close();
});
// 清空
this.data.selected = [];
},