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()
- }
- }
- }
|