#
whycq
2023-10-08 3d775bfea16b5ac26ff0baac10f43b3367b0bf95
uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js
New file
@@ -0,0 +1,82 @@
let mpMixins = {}
// #ifdef APP-VUE|| MP-WEIXIN || H5
import {
   isPC
} from "./isPC"
mpMixins = {
   data() {
      return {
         is_show: 'none'
      }
   },
   watch: {
      show(newVal) {
         this.is_show = this.show
      }
   },
   created() {
      this.swipeaction = this.getSwipeAction()
      if (this.swipeaction.children !== undefined) {
         this.swipeaction.children.push(this)
      }
   },
   mounted() {
      this.is_show = this.show
   },
   methods: {
      // wxs 中调用
      closeSwipe(e) {
         if (!this.autoClose) return
         this.swipeaction.closeOther(this)
      },
      change(e) {
         this.$emit('change', e.open)
         if (this.is_show !== e.open) {
            this.is_show = e.open
         }
      },
      appTouchStart(e) {
         // #ifdef H5
         if (isPC()) return
         // #endif
         const {
            clientX
         } = e.changedTouches[0]
         this.clientX = clientX
         this.timestamp = new Date().getTime()
      },
      appTouchEnd(e, index, item, position) {
         // #ifdef H5
         if (isPC()) return
         // #endif
         const {
            clientX
         } = e.changedTouches[0]
         // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题
         let diff = Math.abs(this.clientX - clientX)
         let time = (new Date().getTime()) - this.timestamp
         if (diff < 40 && time < 300) {
            this.$emit('click', {
               content: item,
               index,
               position
            })
         }
      },
      onClickForPC(index, item, position) {
         // #ifdef H5
         if (!isPC()) return
         this.$emit('click', {
            content: item,
            index,
            position
         })
         // #endif
      }
   }
}
// #endif
export default mpMixins