61 lines
1.2 KiB
Vue
61 lines
1.2 KiB
Vue
<template>
|
|
<view>
|
|
<slot></slot>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
/**
|
|
* SwipeAction 滑动操作
|
|
* @description 通过滑动触发选项的容器
|
|
* @tutorial https://ext.dcloud.net.cn/plugin?id=181
|
|
*/
|
|
export default {
|
|
name:"uniSwipeAction",
|
|
data() {
|
|
return {};
|
|
},
|
|
created() {
|
|
this.children = [];
|
|
},
|
|
methods: {
|
|
// 公开给用户使用,重制组件样式
|
|
resize(){
|
|
// wxs 会自己计算组件大小,所以无需执行下面代码
|
|
// #ifndef APP-VUE || H5 || MP-WEIXIN
|
|
this.children.forEach(vm=>{
|
|
vm.init()
|
|
})
|
|
// #endif
|
|
},
|
|
// 公开给用户使用,关闭全部 已经打开的组件
|
|
closeAll(){
|
|
this.children.forEach(vm=>{
|
|
// #ifdef APP-VUE || H5 || MP-WEIXIN
|
|
vm.is_show = 'none'
|
|
// #endif
|
|
|
|
// #ifndef APP-VUE || H5 || MP-WEIXIN
|
|
vm.close()
|
|
// #endif
|
|
})
|
|
},
|
|
closeOther(vm) {
|
|
if (this.openItem && this.openItem !== vm) {
|
|
// #ifdef APP-VUE || H5 || MP-WEIXIN
|
|
this.openItem.is_show = 'none'
|
|
// #endif
|
|
|
|
// #ifndef APP-VUE || H5 || MP-WEIXIN
|
|
this.openItem.close()
|
|
// #endif
|
|
}
|
|
// 记录上一个打开的 swipe-action-item ,用于 auto-close
|
|
this.openItem = vm
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style></style>
|