UNPKG

asp-smart-ui-plus-test

Version:

A Component Library for Vue 3

77 lines (73 loc) 1.74 kB
// #ifdef APP-VUE|| MP-WEIXIN || H5 import { isPC } from './isPC' let mpMixins = {} 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 点击区域错位的问题 const diff = Math.abs(this.clientX - clientX) const 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