| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- export default {
 
- 	data() {
 
- 		return {
 
- 			position: [],
 
- 			button: []
 
- 		}
 
- 	},
 
- 	computed: {
 
- 		pos() {
 
- 			return JSON.stringify(this.position)
 
- 		},
 
- 		btn() {
 
- 			return JSON.stringify(this.button)
 
- 		}
 
- 	},
 
- 	watch: {
 
- 		show(newVal) {
 
- 			if (this.autoClose) return
 
- 			let valueObj = this.position[0]
 
- 			if (!valueObj) {
 
- 				this.init()
 
- 				return
 
- 			}
 
- 			valueObj.show = newVal
 
- 			this.$set(this.position, 0, valueObj)
 
- 		}
 
- 	},
 
- 	created() {
 
- 		if (this.swipeaction.children !== undefined) {
 
- 			this.swipeaction.children.push(this)
 
- 		}
 
- 	},
 
- 	mounted() {
 
- 		this.init()
 
- 	},
 
- 	beforeDestroy() {
 
- 		this.swipeaction.children.forEach((item, index) => {
 
- 			if (item === this) {
 
- 				this.swipeaction.children.splice(index, 1)
 
- 			}
 
- 		})
 
- 	},
 
- 	methods: {
 
- 		init() {
 
- 			
 
- 			setTimeout(() => {
 
- 				this.getSize()
 
- 				this.getButtonSize()
 
- 			}, 50)
 
- 		},
 
- 		closeSwipe(e) {
 
- 			if (!this.autoClose) return
 
- 			this.swipeaction.closeOther(this)
 
- 		},
 
- 		
 
- 		change(e) {
 
- 			this.$emit('change', e.open)
 
- 			let valueObj = this.position[0]
 
- 			if (valueObj.show !== e.open) {
 
- 				valueObj.show = e.open
 
- 				this.$set(this.position, 0, valueObj)
 
- 			}
 
- 		},
 
- 		onClick(index, item) {
 
- 			this.$emit('click', {
 
- 				content: item,
 
- 				index
 
- 			})
 
- 		},
 
- 		appTouchStart(){},
 
- 		appTouchEnd(){},
 
- 		getSize() {
 
- 			const views = uni.createSelectorQuery().in(this)
 
- 			views
 
- 				.selectAll('.selector-query-hock')
 
- 				.boundingClientRect(data => {
 
- 					if (this.autoClose) {
 
- 						data[0].show = false
 
- 					} else {
 
- 						data[0].show = this.show
 
- 					}
 
- 					this.position = data
 
- 				})
 
- 				.exec()
 
- 		},
 
- 		getButtonSize() {
 
- 			const views = uni.createSelectorQuery().in(this)
 
- 			views
 
- 				.selectAll('.button-hock')
 
- 				.boundingClientRect(data => {
 
- 					this.button = data
 
- 				})
 
- 				.exec()
 
- 		}
 
- 	}
 
- }
 
 
  |