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>
 | 
